1.1 --- a/ompi/datatype/ompi_datatype.h Thu Dec 20 21:17:26 2012 +0000
1.2 +++ b/ompi/datatype/ompi_datatype.h Thu Dec 20 21:19:02 2012 +0000
1.3 @@ -188,6 +188,8 @@
1.4 opal_datatype_clone( &oldType->super, &new_ompi_datatype->super);
1.5 /* Strip the predefined flag at the OMPI level. */
1.6 new_ompi_datatype->super.flags &= ~OMPI_DATATYPE_FLAG_PREDEFINED;
1.7 + /* By default maintain the relationships related to the old data (such as ops) */
1.8 + new_ompi_datatype->id = oldType->id;
1.9
1.10 /* Set the keyhash to NULL -- copying attributes is *only* done at
1.11 the top level (specifically, MPI_TYPE_DUP). */
2.1 --- a/ompi/mpi/c/type_create_f90_complex.c Thu Dec 20 21:17:26 2012 +0000
2.2 +++ b/ompi/mpi/c/type_create_f90_complex.c Thu Dec 20 21:19:02 2012 +0000
2.3 @@ -97,7 +97,10 @@
2.4 /* Make sure the user is not allowed to free this datatype as specified
2.5 * in the MPI standard.
2.6 */
2.7 - datatype->super.flags |= OPAL_DATATYPE_FLAG_PREDEFINED;
2.8 + datatype->super.flags |= OMPI_DATATYPE_FLAG_PREDEFINED;
2.9 + /* Mark the datatype as a special F90 convenience type */
2.10 + snprintf(datatype->name, MPI_MAX_OBJECT_NAME, "COMBINER %s",
2.11 + (*newtype)->name);
2.12
2.13 a_i[0] = &r;
2.14 a_i[1] = &p;
3.1 --- a/ompi/mpi/c/type_create_f90_integer.c Thu Dec 20 21:17:26 2012 +0000
3.2 +++ b/ompi/mpi/c/type_create_f90_integer.c Thu Dec 20 21:19:02 2012 +0000
3.3 @@ -97,7 +97,10 @@
3.4 /* Make sure the user is not allowed to free this datatype as specified
3.5 * in the MPI standard.
3.6 */
3.7 - datatype->super.flags |= OPAL_DATATYPE_FLAG_PREDEFINED;
3.8 + datatype->super.flags |= OMPI_DATATYPE_FLAG_PREDEFINED;
3.9 + /* Mark the datatype as a special F90 convenience type */
3.10 + snprintf(datatype->name, MPI_MAX_OBJECT_NAME, "COMBINER %s",
3.11 + (*newtype)->name);
3.12
3.13 a_i[0] = &r;
3.14 ompi_datatype_set_args( datatype, 1, a_i, 0, NULL, 0, NULL, MPI_COMBINER_F90_INTEGER );
4.1 --- a/ompi/mpi/c/type_create_f90_real.c Thu Dec 20 21:17:26 2012 +0000
4.2 +++ b/ompi/mpi/c/type_create_f90_real.c Thu Dec 20 21:19:02 2012 +0000
4.3 @@ -98,7 +98,10 @@
4.4 /* Make sure the user is not allowed to free this datatype as specified
4.5 * in the MPI standard.
4.6 */
4.7 - datatype->super.flags |= OPAL_DATATYPE_FLAG_PREDEFINED;
4.8 + datatype->super.flags |= OMPI_DATATYPE_FLAG_PREDEFINED;
4.9 + /* Mark the datatype as a special F90 convenience type */
4.10 + snprintf(datatype->name, MPI_MAX_OBJECT_NAME, "COMBINER %s",
4.11 + (*newtype)->name);
4.12
4.13 a_i[0] = &r;
4.14 a_i[1] = &p;