diff options
Diffstat (limited to 'src/H5Eprivate.h')
-rw-r--r-- | src/H5Eprivate.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/H5Eprivate.h b/src/H5Eprivate.h index d6466b7..424456e 100644 --- a/src/H5Eprivate.h +++ b/src/H5Eprivate.h @@ -51,6 +51,18 @@ } /* + * HDONE_ERROR macro, used to facilitate error reporting between a + * FUNC_ENTER() and a FUNC_LEAVE() within a function body, but _AFTER_ the + * "done:" label. The arguments are + * the major error number, the minor error number, a return value, and a + * description of the error. + */ +#define HDONE_ERROR(maj, min, ret_val, str) { \ + HCOMMON_ERROR (maj, min, str); \ + ret_value = ret_val; \ +} + +/* * HRETURN macro, used to facilitate returning from a function between a * FUNC_ENTER() and a FUNC_LEAVE() within a function body. The argument is * the return value. @@ -128,6 +140,10 @@ extern int H5E_mpi_error_str_len; MPI_Error_string(mpierr, H5E_mpi_error_str, &H5E_mpi_error_str_len); \ HERROR(H5E_INTERNAL, H5E_MPIERRSTR, H5E_mpi_error_str); \ } +#define HMPI_DONE_ERROR(retcode, str, mpierr){ \ + HMPI_ERROR(mpierr); \ + HDONE_ERROR(H5E_INTERNAL, H5E_MPI, retcode, str); \ +} #define HMPI_GOTO_ERROR(retcode, str, mpierr){ \ HMPI_ERROR(mpierr); \ HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, retcode, str); \ |