diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2007-10-11 16:24:11 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2007-10-11 16:24:11 (GMT) |
commit | d9e5ca72f39934531b534524d07cf784c3d0e613 (patch) | |
tree | 1913b13a317132523091035f1175b2291c8b9db7 /src | |
parent | 053807fa81579e6bd9ac6a701ddcaac39e4d0b87 (diff) | |
download | hdf5-d9e5ca72f39934531b534524d07cf784c3d0e613.zip hdf5-d9e5ca72f39934531b534524d07cf784c3d0e613.tar.gz hdf5-d9e5ca72f39934531b534524d07cf784c3d0e613.tar.bz2 |
[svn-r14199] Description:
Add H5Dcreate to API versioned routines, replacing internal usage with
H5Dcreate2
Fix thread-safe error stack initialization for API versioned error
stack printing routines.
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Ddeprec.c | 10 | ||||
-rw-r--r-- | src/H5Dpublic.h | 10 | ||||
-rw-r--r-- | src/H5E.c | 5 | ||||
-rw-r--r-- | src/H5vers.txt | 1 | ||||
-rw-r--r-- | src/H5version.h | 15 |
5 files changed, 28 insertions, 13 deletions
diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c index 465ac41..d23df69 100644 --- a/src/H5Ddeprec.c +++ b/src/H5Ddeprec.c @@ -106,9 +106,10 @@ H5D_init_deprec_interface(void) FUNC_LEAVE_NOAPI(H5D_init()) } /* H5D_init_deprec_interface() */ +#ifndef H5_NO_DEPRECATED_SYMBOLS /*------------------------------------------------------------------------- - * Function: H5Dcreate + * Function: H5Dcreate1 * * Purpose: Creates a new dataset named NAME at LOC_ID, opens the * dataset for access, and associates with that dataset constant @@ -137,7 +138,7 @@ H5D_init_deprec_interface(void) *------------------------------------------------------------------------- */ hid_t -H5Dcreate(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, +H5Dcreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, hid_t dcpl_id) { H5G_loc_t loc; /* Object location to insert dataset into */ @@ -145,7 +146,7 @@ H5Dcreate(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, const H5S_t *space; /* Dataspace for dataset */ hid_t ret_value; /* Return value */ - FUNC_ENTER_API(H5Dcreate, FAIL) + FUNC_ENTER_API(H5Dcreate1, FAIL) H5TRACE5("i", "i*siii", loc_id, name, type_id, space_id, dcpl_id); /* Check arguments */ @@ -178,9 +179,8 @@ done: HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset") FUNC_LEAVE_API(ret_value) -} /* end H5Dcreate() */ +} /* end H5Dcreate1() */ -#ifndef H5_NO_DEPRECATED_SYMBOLS /*------------------------------------------------------------------------- * Function: H5Dopen1 diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h index be858ac..d7f6574 100644 --- a/src/H5Dpublic.h +++ b/src/H5Dpublic.h @@ -116,14 +116,6 @@ H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type, void *buf, H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t *size); H5_DLL herr_t H5Ddebug(hid_t dset_id); -/* Functions and variables defined for compatibility with previous versions - * of the HDF5 API. - * - * Use of these functions and variables is deprecated. - */ -H5_DLL hid_t H5Dcreate(hid_t file_id, const char *name, hid_t type_id, - hid_t space_id, hid_t plist_id); - /* Symbols defined for compatibility with previous versions of the HDF5 API. * * Use of these symbols is deprecated. @@ -137,6 +129,8 @@ H5_DLL hid_t H5Dcreate(hid_t file_id, const char *name, hid_t type_id, /* Function prototypes */ +H5_DLL hid_t H5Dcreate1(hid_t file_id, const char *name, hid_t type_id, + hid_t space_id, hid_t dcpl_id); H5_DLL hid_t H5Dopen1(hid_t file_id, const char *name); H5_DLL herr_t H5Dextend(hid_t dset_id, const hsize_t *size); @@ -321,8 +321,13 @@ H5E_get_stack(void) /* Set the thread-specific info */ estack->nused = 0; +#ifdef H5_USE_16_API + estack->auto_op.vers = 1; + estack->auto_op.u.func1 = (H5E_auto1_t)H5Eprint1; +#else /* H5_USE_16_API */ estack->auto_op.vers = 2; estack->auto_op.u.func2 = (H5E_auto2_t)H5Eprint2; +#endif /* H5_USE_16_API */ estack->auto_data = NULL; /* (It's not necessary to release this in this API, it is diff --git a/src/H5vers.txt b/src/H5vers.txt index 39f27e4..5745521 100644 --- a/src/H5vers.txt +++ b/src/H5vers.txt @@ -49,6 +49,7 @@ FUNCTION: H5Acreate; ; v10, v18 FUNCTION: H5Adelete; ; v10, v18 FUNCTION: H5Aiterate; H5A_operator; v10, v18 FUNCTION: H5Arename; ; v16, v18 +FUNCTION: H5Dcreate; ; v10, v18 FUNCTION: H5Dopen; ; v10, v18 FUNCTION: H5Eclear; ; v10, v18 FUNCTION: H5Eget_auto; ; v10, v18 diff --git a/src/H5version.h b/src/H5version.h index 5573e5b..311bb3b 100644 --- a/src/H5version.h +++ b/src/H5version.h @@ -54,6 +54,10 @@ #define H5Arename_vers 1 #endif /* !defined(H5Arename_vers) */ +#if !defined(H5Dcreate_vers) +#define H5Dcreate_vers 1 +#endif /* !defined(H5Dcreate_vers) */ + #if !defined(H5Dopen_vers) #define H5Dopen_vers 1 #endif /* !defined(H5Dopen_vers) */ @@ -169,6 +173,17 @@ #error "H5Arename_vers set to invalid value" #endif /* H5Arename_vers */ +#if !defined(H5Dcreate_vers) || H5Dcreate_vers == 2 +#ifndef H5Dcreate_vers +#define H5Dcreate_vers 2 +#endif /* H5Dcreate_vers */ +#define H5Dcreate H5Dcreate2 +#elif H5Dcreate_vers == 1 +#define H5Dcreate H5Dcreate1 +#else /* H5Dcreate_vers */ +#error "H5Dcreate_vers set to invalid value" +#endif /* H5Dcreate_vers */ + #if !defined(H5Dopen_vers) || H5Dopen_vers == 2 #ifndef H5Dopen_vers #define H5Dopen_vers 2 |