Go to the documentation of this file.
19 #ifndef LIBMESH_CALL_MPI_H
20 #define LIBMESH_CALL_MPI_H
23 #include "libmesh/libmesh_common.h"
25 #ifdef LIBMESH_HAVE_MPI
30 #define libmesh_mpi_var(var) var
36 #define libmesh_assert_mpi_success(error_code) \
39 if (error_code != MPI_SUCCESS) \
41 char libmesh_mpi_error_string[MPI_MAX_ERROR_STRING+1]; \
42 int libmesh_mpi_error_string_len; \
43 MPI_Error_string(error_code, libmesh_mpi_error_string, \
44 &libmesh_mpi_error_string_len); \
45 libmesh_assert_equal_to_msg(error_code, MPI_SUCCESS, \
46 libmesh_mpi_error_string); \
53 #define libmesh_assert_mpi_success(error_code) ((void) 0)
61 #define libmesh_call_mpi(mpi_call) \
64 unsigned int libmesh_mpi_error_code = mpi_call; \
65 libmesh_assert_mpi_success (libmesh_mpi_error_code); \
71 #define libmesh_call_mpi(mpi_call) \
79 #else // LIBMESH_HAVE_MPI
81 #define libmesh_mpi_var(var)
83 #define libmesh_call_mpi(mpi_call) \
87 #endif // LIBMESH_HAVE_MPI
90 #endif // LIBMESH_CALL_MPI_H