From e77303f48370403e04b4185aa54fb6417e1e52fa Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Thu, 18 Dec 2008 08:43:21 -0500 Subject: [svn-r16204] Description: Moved v1 B-tree debugging routines into separate module and thinned out header files a bit. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode --- MANIFEST | 1 + src/H5B.c | 259 +-------------------------------------------------- src/H5Bdbg.c | 284 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/H5Bpkg.h | 9 +- src/Makefile.am | 2 +- src/Makefile.in | 5 +- 6 files changed, 302 insertions(+), 258 deletions(-) create mode 100644 src/H5Bdbg.c diff --git a/MANIFEST b/MANIFEST index 0a4807a..82a4f80 100644 --- a/MANIFEST +++ b/MANIFEST @@ -449,6 +449,7 @@ ./src/H5ACpublic.h ./src/H5B.c ./src/H5Bcache.c +./src/H5Bdbg.c ./src/H5Bpkg.h ./src/H5Bprivate.h ./src/H5Bpublic.h diff --git a/src/H5B.c b/src/H5B.c index 618cda8..9d317c8 100644 --- a/src/H5B.c +++ b/src/H5B.c @@ -98,23 +98,20 @@ /****************/ #define H5B_PACKAGE /*suppress error about including H5Bpkg */ -#define H5F_PACKAGE /*suppress error about including H5Fpkg */ /***********/ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ -#include "H5ACprivate.h" /* Metadata cache */ #include "H5Bpkg.h" /* B-link trees */ #include "H5Dprivate.h" /* Datasets */ #include "H5Eprivate.h" /* Error handling */ -#include "H5Fpkg.h" /* File access */ #include "H5Iprivate.h" /* IDs */ #include "H5MFprivate.h" /* File memory management */ -#include "H5MMprivate.h" /* Memory management */ #include "H5Pprivate.h" /* Property lists */ + /****************/ /* Local Macros */ /****************/ @@ -122,7 +119,7 @@ (H5_SIZEOF_MAGIC + /*magic number */ \ 4 + /*type, level, num entries */ \ 2*H5F_SIZEOF_ADDR(F)) /*left and right sibling addresses */ -#define H5B_NKEY(b,shared,idx) ((b)->native+(shared)->nkey[(idx)]) + /******************/ /* Local Typedefs */ @@ -153,10 +150,7 @@ static herr_t H5B_split(H5F_t *f, hid_t dxpl_id, H5B_t *old_bt, unsigned *old_bt_flags, haddr_t old_addr, unsigned idx, void *udata, haddr_t *new_addr/*out*/); static H5B_t * H5B_copy(const H5B_t *old_bt); -#ifdef H5B_DEBUG -static herr_t H5B_assert(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type, - void *udata); -#endif + /*********************/ /* Package Variables */ @@ -171,10 +165,12 @@ H5FL_BLK_DEFINE(native_block); /* Declare a free list to manage the H5B_t struct */ H5FL_DEFINE(H5B_t); + /*****************************/ /* Library Private Variables */ /*****************************/ + /*******************/ /* Local Variables */ /*******************/ @@ -2061,248 +2057,3 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5B_get_info() */ - -/*------------------------------------------------------------------------- - * Function: H5B_debug - * - * Purpose: Prints debugging info about a B-tree. - * - * Return: Non-negative on success/Negative on failure - * - * Programmer: Robb Matzke - * matzke@llnl.gov - * Aug 4 1997 - * - * Modifications: - * Robb Matzke, 1999-07-28 - * The ADDR argument is passed by value. - *------------------------------------------------------------------------- - */ -herr_t -H5B_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent, int fwidth, - const H5B_class_t *type, void *udata) -{ - H5B_t *bt = NULL; - H5B_shared_t *shared; /* Pointer to shared B-tree info */ - unsigned u; /* Local index variable */ - herr_t ret_value=SUCCEED; /* Return value */ - - FUNC_ENTER_NOAPI(H5B_debug, FAIL) - - /* - * Check arguments. - */ - assert(f); - assert(H5F_addr_defined(addr)); - assert(stream); - assert(indent >= 0); - assert(fwidth >= 0); - assert(type); - - /* - * Load the tree node. - */ - if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ))) - HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree node") - shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); - HDassert(shared); - - /* - * Print the values. - */ - HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, - "Tree type ID:", - ((shared->type->id)==H5B_SNODE_ID ? "H5B_SNODE_ID" : - ((shared->type->id)==H5B_CHUNK_ID ? "H5B_CHUNK_ID" : "Unknown!"))); - HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth, - "Size of node:", - shared->sizeof_rnode); - HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth, - "Size of raw (disk) key:", - shared->sizeof_rkey); - HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, - "Dirty flag:", - bt->cache_info.is_dirty ? "True" : "False"); - HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth, - "Level:", - bt->level); - - HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, - "Address of left sibling:", - bt->left); - - HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, - "Address of right sibling:", - bt->right); - - HDfprintf(stream, "%*s%-*s %u (%u)\n", indent, "", fwidth, - "Number of children (max):", - bt->nchildren, shared->two_k); - - /* - * Print the child addresses - */ - for (u = 0; u < bt->nchildren; u++) { - HDfprintf(stream, "%*sChild %d...\n", indent, "", u); - HDfprintf(stream, "%*s%-*s %a\n", indent + 3, "", MAX(0, fwidth - 3), - "Address:", bt->child[u]); - - /* If there is a key debugging routine, use it to display the left & right keys */ - if (type->debug_key) { - /* Decode the 'left' key & print it */ - HDfprintf(stream, "%*s%-*s\n", indent + 3, "", MAX(0, fwidth - 3), - "Left Key:"); - assert(H5B_NKEY(bt,shared,u)); - (void)(type->debug_key)(stream, f, dxpl_id, indent+6, MAX (0, fwidth-6), - H5B_NKEY(bt,shared,u), udata); - - /* Decode the 'right' key & print it */ - HDfprintf(stream, "%*s%-*s\n", indent + 3, "", MAX(0, fwidth - 3), - "Right Key:"); - assert(H5B_NKEY(bt,shared,u+1)); - (void)(type->debug_key)(stream, f, dxpl_id, indent+6, MAX (0, fwidth-6), - H5B_NKEY(bt,shared,u+1), udata); - } - } - -done: - if (bt && H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) - HDONE_ERROR(H5E_BTREE, H5E_PROTECT, FAIL, "unable to release B-tree node") - - FUNC_LEAVE_NOAPI(ret_value) -} - - -/*------------------------------------------------------------------------- - * Function: H5B_assert - * - * Purpose: Verifies that the tree is structured correctly. - * - * Return: Success: SUCCEED - * - * Failure: aborts if something is wrong. - * - * Programmer: Robb Matzke - * Tuesday, November 4, 1997 - * - * Modifications: - * Robb Matzke, 1999-07-28 - * The ADDR argument is passed by value. - * - * John Mainzer, 6/8/05 - * Modified the function to use the new dirtied parameter of - * of H5AC_unprotect() instead of modifying the is_dirty - * field of the cache info. - * - *------------------------------------------------------------------------- - */ -#ifdef H5B_DEBUG -static herr_t -H5B_assert(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type, void *udata) -{ - H5B_t *bt = NULL; - H5B_shared_t *shared; /* Pointer to shared B-tree info */ - int i, ncell, cmp; - static int ncalls = 0; - herr_t status; - herr_t ret_value=SUCCEED; /* Return value */ - - /* A queue of child data */ - struct child_t { - haddr_t addr; - unsigned level; - struct child_t *next; - } *head = NULL, *tail = NULL, *prev = NULL, *cur = NULL, *tmp = NULL; - - FUNC_ENTER_NOAPI(H5B_assert, FAIL) - - if (0==ncalls++) { - if (H5DEBUG(B)) { - fprintf(H5DEBUG(B), "H5B: debugging B-trees (expensive)\n"); - } - } - /* Initialize the queue */ - bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ); - assert(bt); - shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); - HDassert(shared); - cur = H5MM_calloc(sizeof(struct child_t)); - assert (cur); - cur->addr = addr; - cur->level = bt->level; - head = tail = cur; - - status = H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET); - assert(status >= 0); - bt=NULL; /* Make certain future references will be caught */ - - /* - * Do a breadth-first search of the tree. New nodes are added to the end - * of the queue as the `cur' pointer is advanced toward the end. We don't - * remove any nodes from the queue because we need them in the uniqueness - * test. - */ - for (ncell = 0; cur; ncell++) { - bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, cur->addr, type, udata, H5AC_READ); - assert(bt); - - /* Check node header */ - assert(bt->level == cur->level); - if (cur->next && cur->next->level == bt->level) { - assert(H5F_addr_eq(bt->right, cur->next->addr)); - } else { - assert(!H5F_addr_defined(bt->right)); - } - if (prev && prev->level == bt->level) { - assert(H5F_addr_eq(bt->left, prev->addr)); - } else { - assert(!H5F_addr_defined(bt->left)); - } - - if (cur->level > 0) { - for (i = 0; i < bt->nchildren; i++) { - - /* - * Check that child nodes haven't already been seen. If they - * have then the tree has a cycle. - */ - for (tmp = head; tmp; tmp = tmp->next) { - assert(H5F_addr_ne(tmp->addr, bt->child[i])); - } - - /* Add the child node to the end of the queue */ - tmp = H5MM_calloc(sizeof(struct child_t)); - assert (tmp); - tmp->addr = bt->child[i]; - tmp->level = bt->level - 1; - tail->next = tmp; - tail = tmp; - - /* Check that the keys are monotonically increasing */ - cmp = (type->cmp2) (f, dxpl_id, H5B_NKEY(bt,shared,i), udata, - H5B_NKEY(bt,shared,i+1)); - assert(cmp < 0); - } - } - /* Release node */ - status = H5AC_unprotect(f, dxpl_id, H5AC_BT, cur->addr, bt, H5AC__NO_FLAGS_SET); - assert(status >= 0); - bt=NULL; /* Make certain future references will be caught */ - - /* Advance current location in queue */ - prev = cur; - cur = cur->next; - } - - /* Free all entries from queue */ - while (head) { - tmp = head->next; - H5MM_xfree(head); - head = tmp; - } - -done: - FUNC_LEAVE_NOAPI(ret_value) -} -#endif /* H5B_DEBUG */ - diff --git a/src/H5Bdbg.c b/src/H5Bdbg.c new file mode 100644 index 0000000..f517daf --- /dev/null +++ b/src/H5Bdbg.c @@ -0,0 +1,284 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/*------------------------------------------------------------------------- + * + * Created: H5Bdbg.c + * Dec 11 2008 + * Quincey Koziol + * + * Purpose: Debugging routines for B-link tree package. + * + *------------------------------------------------------------------------- + */ + +/****************/ +/* Module Setup */ +/****************/ + +#define H5B_PACKAGE /*suppress error about including H5Bpkg */ + +/***********/ +/* Headers */ +/***********/ +#include "H5private.h" /* Generic Functions */ +#include "H5Bpkg.h" /* B-link trees */ +#include "H5Eprivate.h" /* Error handling */ + + +/*------------------------------------------------------------------------- + * Function: H5B_debug + * + * Purpose: Prints debugging info about a B-tree. + * + * Return: Non-negative on success/Negative on failure + * + * Programmer: Robb Matzke + * matzke@llnl.gov + * Aug 4 1997 + * + * Modifications: + * Robb Matzke, 1999-07-28 + * The ADDR argument is passed by value. + *------------------------------------------------------------------------- + */ +herr_t +H5B_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent, int fwidth, + const H5B_class_t *type, void *udata) +{ + H5B_t *bt = NULL; + H5B_shared_t *shared; /* Pointer to shared B-tree info */ + unsigned u; /* Local index variable */ + herr_t ret_value=SUCCEED; /* Return value */ + + FUNC_ENTER_NOAPI(H5B_debug, FAIL) + + /* + * Check arguments. + */ + assert(f); + assert(H5F_addr_defined(addr)); + assert(stream); + assert(indent >= 0); + assert(fwidth >= 0); + assert(type); + + /* + * Load the tree node. + */ + if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ))) + HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree node") + shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + HDassert(shared); + + /* + * Print the values. + */ + HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, + "Tree type ID:", + ((shared->type->id)==H5B_SNODE_ID ? "H5B_SNODE_ID" : + ((shared->type->id)==H5B_CHUNK_ID ? "H5B_CHUNK_ID" : "Unknown!"))); + HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth, + "Size of node:", + shared->sizeof_rnode); + HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth, + "Size of raw (disk) key:", + shared->sizeof_rkey); + HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, + "Dirty flag:", + bt->cache_info.is_dirty ? "True" : "False"); + HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth, + "Level:", + bt->level); + + HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, + "Address of left sibling:", + bt->left); + + HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, + "Address of right sibling:", + bt->right); + + HDfprintf(stream, "%*s%-*s %u (%u)\n", indent, "", fwidth, + "Number of children (max):", + bt->nchildren, shared->two_k); + + /* + * Print the child addresses + */ + for (u = 0; u < bt->nchildren; u++) { + HDfprintf(stream, "%*sChild %d...\n", indent, "", u); + HDfprintf(stream, "%*s%-*s %a\n", indent + 3, "", MAX(0, fwidth - 3), + "Address:", bt->child[u]); + + /* If there is a key debugging routine, use it to display the left & right keys */ + if (type->debug_key) { + /* Decode the 'left' key & print it */ + HDfprintf(stream, "%*s%-*s\n", indent + 3, "", MAX(0, fwidth - 3), + "Left Key:"); + assert(H5B_NKEY(bt,shared,u)); + (void)(type->debug_key)(stream, f, dxpl_id, indent+6, MAX (0, fwidth-6), + H5B_NKEY(bt,shared,u), udata); + + /* Decode the 'right' key & print it */ + HDfprintf(stream, "%*s%-*s\n", indent + 3, "", MAX(0, fwidth - 3), + "Right Key:"); + assert(H5B_NKEY(bt,shared,u+1)); + (void)(type->debug_key)(stream, f, dxpl_id, indent+6, MAX (0, fwidth-6), + H5B_NKEY(bt,shared,u+1), udata); + } + } + +done: + if (bt && H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0) + HDONE_ERROR(H5E_BTREE, H5E_PROTECT, FAIL, "unable to release B-tree node") + + FUNC_LEAVE_NOAPI(ret_value) +} + + +/*------------------------------------------------------------------------- + * Function: H5B_assert + * + * Purpose: Verifies that the tree is structured correctly. + * + * Return: Success: SUCCEED + * + * Failure: aborts if something is wrong. + * + * Programmer: Robb Matzke + * Tuesday, November 4, 1997 + * + * Modifications: + * Robb Matzke, 1999-07-28 + * The ADDR argument is passed by value. + * + * John Mainzer, 6/8/05 + * Modified the function to use the new dirtied parameter of + * of H5AC_unprotect() instead of modifying the is_dirty + * field of the cache info. + * + *------------------------------------------------------------------------- + */ +#ifdef H5B_DEBUG +herr_t +H5B_assert(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type, void *udata) +{ + H5B_t *bt = NULL; + H5B_shared_t *shared; /* Pointer to shared B-tree info */ + int i, ncell, cmp; + static int ncalls = 0; + herr_t status; + herr_t ret_value=SUCCEED; /* Return value */ + + /* A queue of child data */ + struct child_t { + haddr_t addr; + unsigned level; + struct child_t *next; + } *head = NULL, *tail = NULL, *prev = NULL, *cur = NULL, *tmp = NULL; + + FUNC_ENTER_NOAPI(H5B_assert, FAIL) + + if (0==ncalls++) { + if (H5DEBUG(B)) { + fprintf(H5DEBUG(B), "H5B: debugging B-trees (expensive)\n"); + } + } + /* Initialize the queue */ + bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ); + assert(bt); + shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + HDassert(shared); + cur = H5MM_calloc(sizeof(struct child_t)); + assert (cur); + cur->addr = addr; + cur->level = bt->level; + head = tail = cur; + + status = H5AC_unprotect(f, dxpl_id, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET); + assert(status >= 0); + bt=NULL; /* Make certain future references will be caught */ + + /* + * Do a breadth-first search of the tree. New nodes are added to the end + * of the queue as the `cur' pointer is advanced toward the end. We don't + * remove any nodes from the queue because we need them in the uniqueness + * test. + */ + for (ncell = 0; cur; ncell++) { + bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, cur->addr, type, udata, H5AC_READ); + assert(bt); + + /* Check node header */ + assert(bt->level == cur->level); + if (cur->next && cur->next->level == bt->level) { + assert(H5F_addr_eq(bt->right, cur->next->addr)); + } else { + assert(!H5F_addr_defined(bt->right)); + } + if (prev && prev->level == bt->level) { + assert(H5F_addr_eq(bt->left, prev->addr)); + } else { + assert(!H5F_addr_defined(bt->left)); + } + + if (cur->level > 0) { + for (i = 0; i < bt->nchildren; i++) { + + /* + * Check that child nodes haven't already been seen. If they + * have then the tree has a cycle. + */ + for (tmp = head; tmp; tmp = tmp->next) { + assert(H5F_addr_ne(tmp->addr, bt->child[i])); + } + + /* Add the child node to the end of the queue */ + tmp = H5MM_calloc(sizeof(struct child_t)); + assert (tmp); + tmp->addr = bt->child[i]; + tmp->level = bt->level - 1; + tail->next = tmp; + tail = tmp; + + /* Check that the keys are monotonically increasing */ + cmp = (type->cmp2) (f, dxpl_id, H5B_NKEY(bt,shared,i), udata, + H5B_NKEY(bt,shared,i+1)); + assert(cmp < 0); + } + } + /* Release node */ + status = H5AC_unprotect(f, dxpl_id, H5AC_BT, cur->addr, bt, H5AC__NO_FLAGS_SET); + assert(status >= 0); + bt=NULL; /* Make certain future references will be caught */ + + /* Advance current location in queue */ + prev = cur; + cur = cur->next; + } + + /* Free all entries from queue */ + while (head) { + tmp = head->next; + H5MM_xfree(head); + head = tmp; + } + +done: + FUNC_LEAVE_NOAPI(ret_value) +} +#endif /* H5B_DEBUG */ + diff --git a/src/H5Bpkg.h b/src/H5Bpkg.h index 7f1fd37..ddabf52 100644 --- a/src/H5Bpkg.h +++ b/src/H5Bpkg.h @@ -32,12 +32,15 @@ #include "H5Bprivate.h" /* Other private headers needed by this file */ -#include "H5RCprivate.h" /* Reference counted objects */ /**************************/ /* Package Private Macros */ /**************************/ +/* Get the native key at a given index */ +#define H5B_NKEY(b, shared, idx) ((b)->native + (shared)->nkey[(idx)]) + + /****************************/ /* Package Private Typedefs */ /****************************/ @@ -75,6 +78,10 @@ H5FL_EXTERN(H5B_t); /* Package Private Prototypes */ /******************************/ H5_DLL herr_t H5B_dest(H5F_t *f, H5B_t *b); +#ifdef H5B_DEBUG +herr_t H5B_assert(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type, + void *udata); +#endif #endif /*_H5Bpkg_H*/ diff --git a/src/Makefile.am b/src/Makefile.am index 5eeaee7..9ae2252 100755 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -43,7 +43,7 @@ DISTCLEANFILES=H5pubconf.h # library sources libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \ H5A.c H5Abtree2.c H5Adense.c H5Adeprec.c H5Aint.c H5Atest.c \ - H5AC.c H5B.c H5Bcache.c \ + H5AC.c H5B.c H5Bcache.c H5Bdbg.c \ H5B2.c H5B2cache.c H5B2dbg.c H5B2int.c H5B2stat.c H5B2test.c \ H5C.c H5CS.c \ H5D.c H5Dbtree.c H5Dchunk.c H5Dcompact.c H5Dcontig.c H5Ddbg.c \ diff --git a/src/Makefile.in b/src/Makefile.in index 4bc37d4..4fde49e 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -80,7 +80,7 @@ LTLIBRARIES = $(lib_LTLIBRARIES) libhdf5_la_LIBADD = am_libhdf5_la_OBJECTS = H5.lo H5checksum.lo H5dbg.lo H5system.lo \ H5timer.lo H5trace.lo H5A.lo H5Abtree2.lo H5Adense.lo \ - H5Adeprec.lo H5Aint.lo H5Atest.lo H5AC.lo H5B.lo H5Bcache.lo \ + H5Adeprec.lo H5Aint.lo H5Atest.lo H5AC.lo H5B.lo H5Bcache.lo H5Bdbg.lo \ H5B2.lo H5B2cache.lo H5B2dbg.lo H5B2int.lo H5B2stat.lo \ H5B2test.lo H5C.lo H5CS.lo H5D.lo H5Dchunk.lo H5Dcompact.lo \ H5Dcontig.lo H5Ddbg.lo H5Ddeprec.lo H5Defl.lo H5Dfill.lo \ @@ -426,7 +426,7 @@ DISTCLEANFILES = H5pubconf.h # library sources libhdf5_la_SOURCES = H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \ H5A.c H5Abtree2.c H5Adense.c H5Adeprec.c H5Aint.c H5Atest.c \ - H5AC.c H5B.c H5Bcache.c \ + H5AC.c H5B.c H5Bcache.c H5Bdbg.c \ H5B2.c H5B2cache.c H5B2dbg.c H5B2int.c H5B2stat.c H5B2test.c \ H5C.c H5CS.c \ H5D.c H5Dchunk.c H5Dcompact.c H5Dcontig.c H5Ddbg.c \ @@ -631,6 +631,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2stat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5B2test.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Bcache.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Bdbg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5C.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5CS.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5D.Plo@am__quote@ -- cgit v0.12