[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1-186-gb38571f
Service Account
noreply at mpich.org
Mon Apr 28 13:25:52 CDT 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via b38571fb59ab8a08a7a75c1057f5015b59931070 (commit)
via 120dde4cfd7077c6a70b84ee31e83f669daa8373 (commit)
via 449eab8d30a5cee33b78052f10e84a15153972c2 (commit)
from 87de5b090b505993b7519cf01900e0fedf3e352f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/b38571fb59ab8a08a7a75c1057f5015b59931070
commit b38571fb59ab8a08a7a75c1057f5015b59931070
Author: Lisandro Dalcin <dalcinl at gmail.com>
Date: Wed Apr 23 14:34:34 2014 -0500
Deal with empty error class/code strings
The standard says a user-defined error code without a string should
return "", not NULL.
Closes #2067
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/src/mpi/errhan/dynerrutil.c b/src/mpi/errhan/dynerrutil.c
index 943e8c3..2e3bb27 100644
--- a/src/mpi/errhan/dynerrutil.c
+++ b/src/mpi/errhan/dynerrutil.c
@@ -48,6 +48,7 @@ static const char *(user_class_msgs[ERROR_MAX_NCLASS]) = { 0 };
static const char *(user_code_msgs[ERROR_MAX_NCODE]) = { 0 };
static int first_free_class = 0;
static int first_free_code = 1; /* code 0 is reserved */
+static const char empty_error_string[1] = { 0 };
/* Forward reference */
const char *MPIR_Err_get_dynerr_string( int code );
@@ -297,11 +298,13 @@ const char *MPIR_Err_get_dynerr_string( int code )
if (errcode) {
if (errcode < first_free_code) {
errstr = user_code_msgs[errcode];
+ if (!errstr) errstr = empty_error_string;
}
}
else {
if (errclass < first_free_class) {
errstr = user_class_msgs[errclass];
+ if (!errstr) errstr = empty_error_string;
}
}
http://git.mpich.org/mpich.git/commitdiff/120dde4cfd7077c6a70b84ee31e83f669daa8373
commit 120dde4cfd7077c6a70b84ee31e83f669daa8373
Author: Rob Latham <robl at mcs.anl.gov>
Date: Tue Apr 22 21:34:16 2014 -0500
update errstring2 for MPICH test harness
a successful test gives ' No Errors'
diff --git a/test/mpi/errhan/errstring2.c b/test/mpi/errhan/errstring2.c
index 262491c..5e9761c 100644
--- a/test/mpi/errhan/errstring2.c
+++ b/test/mpi/errhan/errstring2.c
@@ -1,5 +1,7 @@
#include <stdio.h>
#include <mpi.h>
+#include <string.h>
+
int main(int argc, char *argv[])
{
int errorclass;
@@ -8,8 +10,12 @@ int main(int argc, char *argv[])
MPI_Init(&argc, &argv);
MPI_Add_error_class(&errorclass);
MPI_Error_string(errorclass, errorstring, &slen);
- printf("errorclass:%d errorstring:'%s' len:%d\n", errorclass,
+ if (strncmp(errorstring, "", 1)) {
+ fprintf(stderr, "errorclass:%d errorstring:'%s' len:%d\n", errorclass,
errorstring, slen);
+ } else {
+ printf(" No Errors\n");
+ }
MPI_Finalize();
return 0;
}
http://git.mpich.org/mpich.git/commitdiff/449eab8d30a5cee33b78052f10e84a15153972c2
commit 449eab8d30a5cee33b78052f10e84a15153972c2
Author: Lisandro Dalcin <dalcinl at gmail.com>
Date: Tue Apr 22 14:31:02 2014 -0500
testcase for MPI_Error_string()
The MPI-3 standard says (pp.354, lines 39-40):
"""
If MPI_ERROR_STRING is called when no string has been set, it will
return a empty
string (all spaces in Fortran, "" in C).
"""
RobL added bits to hook into the test infrastrucutre.
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/test/mpi/errhan/Makefile.am b/test/mpi/errhan/Makefile.am
index 46e2d49..2d28fa9 100644
--- a/test/mpi/errhan/Makefile.am
+++ b/test/mpi/errhan/Makefile.am
@@ -18,7 +18,8 @@ noinst_PROGRAMS = \
adderr \
commcall \
errfatal \
- predef_eh
+ predef_eh \
+ errstring2
EXTRA_PROGRAMS = errcode errring errstring
diff --git a/test/mpi/errhan/errstring2.c b/test/mpi/errhan/errstring2.c
new file mode 100644
index 0000000..262491c
--- /dev/null
+++ b/test/mpi/errhan/errstring2.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <mpi.h>
+int main(int argc, char *argv[])
+{
+ int errorclass;
+ char errorstring[MPI_MAX_ERROR_STRING] = {64,0};
+ int slen;
+ MPI_Init(&argc, &argv);
+ MPI_Add_error_class(&errorclass);
+ MPI_Error_string(errorclass, errorstring, &slen);
+ printf("errorclass:%d errorstring:'%s' len:%d\n", errorclass,
+ errorstring, slen);
+ MPI_Finalize();
+ return 0;
+}
diff --git a/test/mpi/errhan/testlist b/test/mpi/errhan/testlist
index 9bee2b4..8ddc826 100644
--- a/test/mpi/errhan/testlist
+++ b/test/mpi/errhan/testlist
@@ -3,3 +3,4 @@ commcall 2
errfatal 1 resultTest=TestErrFatal
predef_eh 1
predef_eh 2
+errstring2 1
-----------------------------------------------------------------------
Summary of changes:
src/mpi/errhan/dynerrutil.c | 3 +++
test/mpi/errhan/Makefile.am | 3 ++-
test/mpi/errhan/errstring2.c | 21 +++++++++++++++++++++
test/mpi/errhan/testlist | 1 +
4 files changed, 27 insertions(+), 1 deletions(-)
create mode 100644 test/mpi/errhan/errstring2.c
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list