Commit 09884411 authored by William Gropp's avatar William Gropp Committed by Pavan Balaji
Browse files

Remove support for MPI::Distgraphcomm



Enhanced cxx/buildiface to output support for Distgraphcomm only if
requested through the feature interface.  Distgraphcomm was added
only in MPI 2.2 and for historical reasons is not part of the
MPICH ABI.
Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
parent 5f8c172b
......@@ -1178,12 +1178,10 @@ class Intracomm;
class Cartcomm;
class Graphcomm;\n";
if ($do_DistGraphComm) {
print $OUTFD "class Distgraphcomm;\n"
print $OUTFD "class Distgraphcomm;\n";
}
print $OUTFD "class File;\n\n";
#
# Add the base routines. Since these are not in any class, we
# place only their prototype in the header file. The
......@@ -1310,7 +1308,7 @@ typedef int MPI_File;\
# Add a few more external functions (some require the above definitions)
@routines = keys(%class_mpi2base);
if (defined(@routinesMpi2base)) {
if (defined(@routinesMpi2base)) {
@routines = @routinesMpi2base;
}
if ($outputRoutineLists) {
......@@ -1965,7 +1963,7 @@ extern Datatype TWOINTEGER;
}
# Predefined integers
foreach $int (BSEND_OVERHEAD, KEYVAL_INVALID, CART, GRAPH, DIST_GRAPH,
foreach $int (BSEND_OVERHEAD, KEYVAL_INVALID, CART, GRAPH,
IDENT, SIMILAR, CONGRUENT, UNEQUAL, PROC_NULL,
ANY_TAG, ANY_SOURCE, ROOT, TAG_UB, IO, HOST, WTIME_IS_GLOBAL,
UNIVERSE_SIZE, LASTUSEDCODE, APPNUM,
......@@ -1977,6 +1975,11 @@ extern Datatype TWOINTEGER;
@errclasses, @typeclasses ) {
print $OUTFD "${extern}const int $int";
if ($giveValue) { print $OUTFD "= MPI_$int;\n"; }
else { print $OUTFD ";\n"; }
}
if ($do_DistGraphComm) {
print $OUTFD "${extern}const int DIST_GRAPH";
if ($giveValue) { print $OUTFD "= MPI_$int;\n"; }
else { print $OUTFD ";\n"; }
}
# Handle seek as a special case
......@@ -2380,15 +2383,20 @@ MPIR_Comm_delete_attr_cxx_proxy(
MPI::Graphcomm c = comm;
return f( c, keyval, value, extra_state );
}
#ifdef HAVE_CXX_DISTGRAPH_COMM
EOT
if ($do_DistGraphComm) {
print $OUTFD <<EOT;
else
{
MPI::Distgraphcomm c = comm;
return f( c, keyval, value, extra_state );
}
#endif
EOT
}
print $OUTFD <<EOT;
}
static
int
MPIR_Comm_copy_attr_cxx_proxy(
......@@ -2440,15 +2448,19 @@ MPIR_Comm_copy_attr_cxx_proxy(
MPI::Graphcomm c = comm;
return f( c, keyval, extra_state, value, new_value, *(bool*)flag );
}
#ifdef HAVE_CXX_DISTGRAPH_COMM
else
EOT
if ($do_DistGraphComm) {
print $OUTFD <<EOT;
else
{
MPI::Distgraphcomm c = comm;
return f( c, keyval, extra_state, value, new_value, *(bool*)flag );
}
#endif
EOT
}
print $OUTFD <<EOT;
}
int Comm::Create_keyval( Copy_attr_function *cf, Delete_attr_function *df, void *extra_state )
{
......@@ -3875,8 +3887,8 @@ sub PrintRoutineDef {
# Hideous hack. To preserve ABI compatibility, for one particular
# case for Create struct, remove the const values
if ($routine eq "Create_struct" && $arginfo eq "static:5:4") {
print "$cArgs\n";
if ($routine eq "Create_struct" && $arginfo eq "static:5:4") {
#print "$cArgs\n";
$cDefArgs = $cArgs;
$cDefArgs =~ s/const\s+//g;
}
......@@ -3884,7 +3896,7 @@ sub PrintRoutineDef {
$cDefArgs = $cArgs;
}
&PrintMethodDef( $OUTFD, $class, $routine, $arginfo, $cDefArgs );
&PrintMethodDef( $OUTFD, $class, $routine, $arginfo, $cDefArgs );
# This inserts a modifier, such as const or =0 (for pure virtual)
if (defined($funcAttributes{$fnchash})) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment