Skip to content

Commit 3a5f714

Browse files
authored
Merge pull request #13174 from hppritcha/memchecker_arg_fixes
memchecker: fix some problems with arg checking
2 parents c87d667 + 152c21b commit 3a5f714

File tree

7 files changed

+15
-8
lines changed

7 files changed

+15
-8
lines changed

ompi/mpi/c/gather.c.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,13 @@ PROTOTYPE ERROR_CLASS gather(BUFFER sendbuf, COUNT sendcount, DATATYPE sendtype,
5050
ptrdiff_t ext;
5151

5252
rank = ompi_comm_rank(comm);
53-
ompi_datatype_type_extent(recvtype, &ext);
5453

5554
memchecker_comm(comm);
5655
if(OMPI_COMM_IS_INTRA(comm)) {
5756
if(ompi_comm_rank(comm) == root) {
5857
/* check whether root's send buffer is defined. */
58+
memchecker_datatype(recvtype);
59+
ompi_datatype_type_extent(recvtype, &ext);
5960
if (MPI_IN_PLACE == sendbuf) {
6061
memchecker_call(&opal_memchecker_base_isdefined,
6162
(char *)(recvbuf)+rank*ext,

ompi/mpi/c/gather_init.c.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,14 @@ PROTOTYPE ERROR_CLASS gather_init(BUFFER sendbuf, COUNT sendcount, DATATYPE send
5050
ptrdiff_t ext;
5151

5252
rank = ompi_comm_rank(comm);
53-
ompi_datatype_type_extent(recvtype, &ext);
5453

5554
memchecker_comm(comm);
5655
if(OMPI_COMM_IS_INTRA(comm)) {
5756
if(ompi_comm_rank(comm) == root) {
5857
/* check whether root's send buffer is defined. */
5958
if (MPI_IN_PLACE == sendbuf) {
59+
memchecker_datatype(recvtype);
60+
ompi_datatype_type_extent(recvtype, &ext);
6061
memchecker_call(&opal_memchecker_base_isdefined,
6162
(char *)(recvbuf)+rank*ext,
6263
recvcount, recvtype);

ompi/mpi/c/gatherv.c.in

+3-2
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,12 @@ PROTOTYPE ERROR_CLASS gatherv(BUFFER sendbuf, COUNT sendcount, DATATYPE sendtype
4949
ptrdiff_t ext;
5050

5151
size = ompi_comm_remote_size(comm);
52-
ompi_datatype_type_extent(recvtype, &ext);
5352

5453
memchecker_comm(comm);
5554
if(OMPI_COMM_IS_INTRA(comm)) {
5655
if(ompi_comm_rank(comm) == root) {
56+
memchecker_datatype(recvtype);
57+
ompi_datatype_type_extent(recvtype, &ext);
5758
/* check whether root's send buffer is defined. */
5859
if (MPI_IN_PLACE == sendbuf) {
5960
for (i = 0; i < size; i++) {
@@ -66,7 +67,6 @@ PROTOTYPE ERROR_CLASS gatherv(BUFFER sendbuf, COUNT sendcount, DATATYPE sendtype
6667
memchecker_call(&opal_memchecker_base_isdefined, sendbuf, sendcount, sendtype);
6768
}
6869

69-
memchecker_datatype(recvtype);
7070
/* check whether root's receive buffer is addressable. */
7171
for (i = 0; i < size; i++) {
7272
memchecker_call(&opal_memchecker_base_isaddressable,
@@ -82,6 +82,7 @@ PROTOTYPE ERROR_CLASS gatherv(BUFFER sendbuf, COUNT sendcount, DATATYPE sendtype
8282
if (MPI_ROOT == root) {
8383
memchecker_datatype(recvtype);
8484
/* check whether root's receive buffer is addressable. */
85+
ompi_datatype_type_extent(recvtype, &ext);
8586
for (i = 0; i < size; i++) {
8687
memchecker_call(&opal_memchecker_base_isaddressable,
8788
(char *)(recvbuf)+displs[i]*ext,

ompi/mpi/c/igather.c.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,14 @@ PROTOTYPE ERROR_CLASS igather(BUFFER sendbuf, COUNT sendcount, DATATYPE sendtype
5151
ptrdiff_t ext;
5252

5353
rank = ompi_comm_rank(comm);
54-
ompi_datatype_type_extent(recvtype, &ext);
5554

5655
memchecker_comm(comm);
5756
if(OMPI_COMM_IS_INTRA(comm)) {
5857
if(ompi_comm_rank(comm) == root) {
5958
/* check whether root's send buffer is defined. */
6059
if (MPI_IN_PLACE == sendbuf) {
60+
memchecker_datatype(recvtype);
61+
ompi_datatype_type_extent(recvtype, &ext);
6162
memchecker_call(&opal_memchecker_base_isdefined,
6263
(char *)(recvbuf)+rank*ext,
6364
recvcount, recvtype);

ompi/mpi/c/iscatterv.c.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ PROTOTYPE ERROR_CLASS iscatterv(BUFFER sendbuf, COUNT_ARRAY sendcounts, DISP_ARR
4949
ptrdiff_t ext;
5050

5151
size = ompi_comm_remote_size(comm);
52-
ompi_datatype_type_extent(recvtype, &ext);
5352

5453
memchecker_comm(comm);
5554
if(OMPI_COMM_IS_INTRA(comm)) {
5655
if(ompi_comm_rank(comm) == root) {
5756
memchecker_datatype(sendtype);
57+
ompi_datatype_type_extent(sendtype, &ext);
5858
/* check whether root's send buffer is defined. */
5959
for (i = 0; i < size; i++) {
6060
memchecker_call(&opal_memchecker_base_isdefined,
@@ -74,6 +74,7 @@ PROTOTYPE ERROR_CLASS iscatterv(BUFFER sendbuf, COUNT_ARRAY sendcounts, DISP_ARR
7474
} else {
7575
if(MPI_ROOT == root) {
7676
memchecker_datatype(sendtype);
77+
ompi_datatype_type_extent(sendtype, &ext);
7778
/* check whether root's send buffer is defined. */
7879
for (i = 0; i < size; i++) {
7980
memchecker_call(&opal_memchecker_base_isdefined,

ompi/mpi/c/scatterv.c.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ PROTOTYPE ERROR_CLASS scatterv(BUFFER sendbuf, COUNT_ARRAY sendcounts, DISP_ARRA
4949
ptrdiff_t ext;
5050

5151
size = ompi_comm_remote_size(comm);
52-
ompi_datatype_type_extent(recvtype, &ext);
5352

5453
memchecker_comm(comm);
5554
if(OMPI_COMM_IS_INTRA(comm)) {
5655
if(ompi_comm_rank(comm) == root) {
5756
memchecker_datatype(sendtype);
57+
ompi_datatype_type_extent(sendtype, &ext);
5858
/* check whether root's send buffer is defined. */
5959
for (i = 0; i < size; i++) {
6060
memchecker_call(&opal_memchecker_base_isdefined,
@@ -74,6 +74,7 @@ PROTOTYPE ERROR_CLASS scatterv(BUFFER sendbuf, COUNT_ARRAY sendcounts, DISP_ARRA
7474
} else {
7575
if(MPI_ROOT == root) {
7676
memchecker_datatype(sendtype);
77+
ompi_datatype_type_extent(sendtype, &ext);
7778
/* check whether root's send buffer is defined. */
7879
for (i = 0; i < size; i++) {
7980
memchecker_call(&opal_memchecker_base_isdefined,

ompi/mpi/c/scatterv_init.c.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ PROTOTYPE ERROR_CLASS scatterv_init(BUFFER sendbuf, COUNT_ARRAY sendcounts, DISP
4949
ptrdiff_t ext;
5050

5151
size = ompi_comm_remote_size(comm);
52-
ompi_datatype_type_extent(recvtype, &ext);
5352

5453
memchecker_comm(comm);
5554
if(OMPI_COMM_IS_INTRA(comm)) {
5655
if(ompi_comm_rank(comm) == root) {
5756
memchecker_datatype(sendtype);
57+
ompi_datatype_type_extent(sendtype, &ext);
5858
/* check whether root's send buffer is defined. */
5959
for (i = 0; i < size; i++) {
6060
memchecker_call(&opal_memchecker_base_isdefined,
@@ -74,6 +74,7 @@ PROTOTYPE ERROR_CLASS scatterv_init(BUFFER sendbuf, COUNT_ARRAY sendcounts, DISP
7474
} else {
7575
if(MPI_ROOT == root) {
7676
memchecker_datatype(sendtype);
77+
ompi_datatype_type_extent(sendtype, &ext);
7778
/* check whether root's send buffer is defined. */
7879
for (i = 0; i < size; i++) {
7980
memchecker_call(&opal_memchecker_base_isdefined,

0 commit comments

Comments
 (0)