diff options
Diffstat (limited to 'src/H5Eprivate.h')
-rw-r--r-- | src/H5Eprivate.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/H5Eprivate.h b/src/H5Eprivate.h index a201111..e6f88f5 100644 --- a/src/H5Eprivate.h +++ b/src/H5Eprivate.h @@ -114,3 +114,25 @@ __DLL__ herr_t H5E_clear (void); __DLL__ herr_t H5E_walk (H5E_direction_t dir, H5E_walk_t func, void *client_data); #endif + +#ifdef H5_HAVE_PARALLEL +/* + * MPI error handling macros. + */ + +extern char H5E_mpi_error_str[MPI_MAX_ERROR_STRING]; +extern int H5E_mpi_error_str_len; + +#define HMPI_ERROR(mpierr){ \ + MPI_Error_string(mpierr, H5E_mpi_error_str, &H5E_mpi_error_str_len); \ + HERROR(H5E_INTERNAL, H5E_MPIERRSTR, H5E_mpi_error_str); \ +} +#define HMPI_GOTO_ERROR(retcode, str, mpierr){ \ + HMPI_ERROR(mpierr); \ + HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, retcode, str); \ +} +#define HMPI_RETURN_ERROR(retcode, str, mpierr){ \ + HMPI_ERROR(mpierr); \ + HRETURN_ERROR(H5E_INTERNAL, H5E_MPI, retcode, str); \ +} +#endif |