@@ -384,10 +384,18 @@ ompi_osc_portals4_raccumulate(const void *origin_addr,
384384                             0 );
385385            } else  {
386386                ret  =  ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
387-                 if  (OMPI_SUCCESS  !=  ret ) return  ret ;
387+                 if  (OMPI_SUCCESS  !=  ret ) {
388+                     opal_output (ompi_osc_base_framework .framework_output ,
389+                             "MPI_Raccumulate: datatype is not currently supported" );
390+                     return  OMPI_ERR_NOT_SUPPORTED ;
391+                 }
388392
389393                ret  =  ompi_osc_portals4_get_op (op , & ptl_op );
390-                 if  (OMPI_SUCCESS  !=  ret ) return  ret ;
394+                 if  (OMPI_SUCCESS  !=  ret ) {
395+                     opal_output (ompi_osc_base_framework .framework_output ,
396+                             "MPI_Raccumulate: operation is not currently supported" );
397+                     return  OMPI_ERR_NOT_SUPPORTED ;
398+                 }
391399
392400                ret  =  PtlAtomic (module -> req_md_h ,
393401                                offset  +  sent ,
@@ -476,7 +484,9 @@ ompi_osc_portals4_rget_accumulate(const void *origin_addr,
476484            ret  =  ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
477485            if  (OMPI_SUCCESS  !=  ret ) {
478486                OMPI_OSC_PORTALS4_REQUEST_RETURN (request );
479-                 return  ret ;
487+                 opal_output (ompi_osc_base_framework .framework_output ,
488+                         "MPI_Rget_accumulate: datatype is not currently supported" );
489+                 return  OMPI_ERR_NOT_SUPPORTED ;
480490            }
481491            length  *= origin_count ;
482492
@@ -547,10 +557,18 @@ ompi_osc_portals4_rget_accumulate(const void *origin_addr,
547557            origin_md_offset  =  (ptl_size_t ) origin_addr ;
548558
549559            ret  =  ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
550-             if  (OMPI_SUCCESS  !=  ret ) return  ret ;
560+             if  (OMPI_SUCCESS  !=  ret ) {
561+                  opal_output (ompi_osc_base_framework .framework_output ,
562+                         "MPI_Rget_accumulate: datatype is not currently supported" );
563+                 return  OMPI_ERR_NOT_SUPPORTED ;
564+             }
551565
552566            ret  =  ompi_osc_portals4_get_op (op , & ptl_op );
553-             if  (OMPI_SUCCESS  !=  ret ) return  ret ;
567+             if  (OMPI_SUCCESS  !=  ret ) {
568+                  opal_output (ompi_osc_base_framework .framework_output ,
569+                         "MPI_Rget_accumulate: operation is not currently supported" );
570+                 return  OMPI_ERR_NOT_SUPPORTED ;
571+             }
554572
555573            do  {
556574                size_t  msg_length  =  MIN (module -> fetch_atomic_max , length  -  sent );
@@ -760,10 +778,18 @@ ompi_osc_portals4_accumulate(const void *origin_addr,
760778                             0 );
761779            } else  {
762780                ret  =  ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
763-                 if  (OMPI_SUCCESS  !=  ret ) return  ret ;
781+                 if  (OMPI_SUCCESS  !=  ret ) {
782+                     opal_output (ompi_osc_base_framework .framework_output ,
783+                             "MPI_Accumulate: datatype is not currently supported" );
784+                     return  OMPI_ERR_NOT_SUPPORTED ;
785+                 }
764786
765787                ret  =  ompi_osc_portals4_get_op (op , & ptl_op );
766-                 if  (OMPI_SUCCESS  !=  ret ) return  ret ;
788+                 if  (OMPI_SUCCESS  !=  ret ) {
789+                     opal_output (ompi_osc_base_framework .framework_output ,
790+                             "MPI_Accumulate: operation is not currently supported" );
791+                     return  OMPI_ERR_NOT_SUPPORTED ;
792+                 }
767793
768794                ret  =  PtlAtomic (module -> md_h ,
769795                                md_offset  +  sent ,
@@ -842,7 +868,9 @@ ompi_osc_portals4_get_accumulate(const void *origin_addr,
842868            }
843869            ret  =  ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
844870            if  (OMPI_SUCCESS  !=  ret ) {
845-                 return  ret ;
871+                 opal_output (ompi_osc_base_framework .framework_output ,
872+                         "MPI_Get_accumulate: datatype is not currently supported" );
873+                 return  OMPI_ERR_NOT_SUPPORTED ;
846874            }
847875            length  *= origin_count ;
848876
@@ -909,11 +937,18 @@ ompi_osc_portals4_get_accumulate(const void *origin_addr,
909937            origin_md_offset  =  (ptl_size_t ) origin_addr ;
910938
911939            ret  =  ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
912-             if  (OMPI_SUCCESS  !=  ret ) return  ret ;
940+             if  (OMPI_SUCCESS  !=  ret ) {
941+                 opal_output (ompi_osc_base_framework .framework_output ,
942+                         "MPI_Get_accumulate: datatype is not currently supported" );
943+                 return  OMPI_ERR_NOT_SUPPORTED ;
944+             }
913945
914946            ret  =  ompi_osc_portals4_get_op (op , & ptl_op );
915-             if  (OMPI_SUCCESS  !=  ret ) return  ret ;
916- 
947+             if  (OMPI_SUCCESS  !=  ret ) {
948+                 opal_output (ompi_osc_base_framework .framework_output ,
949+                         "MPI_Get_accumulate: operation is not currently supported" );
950+                 return  OMPI_ERR_NOT_SUPPORTED ;
951+             }
917952
918953            do  {
919954                size_t  msg_length  =  MIN (module -> fetch_atomic_max , length  -  sent );
@@ -972,7 +1007,11 @@ ompi_osc_portals4_compare_and_swap(const void *origin_addr,
9721007                         (unsigned long ) win ));
9731008
9741009    ret  =  ompi_osc_portals4_get_dt (dt , & ptl_dt );
975-     if  (OMPI_SUCCESS  !=  ret ) return  ret ;
1010+     if  (OMPI_SUCCESS  !=  ret ) {
1011+         opal_output (ompi_osc_base_framework .framework_output ,
1012+                 "MPI_Compare_and_swap: datatype is not currently supported" );
1013+         return  OMPI_ERR_NOT_SUPPORTED ;
1014+     }
9761015
9771016    offset  =  get_displacement (module , target ) *  target_disp ;
9781017
@@ -1035,7 +1074,11 @@ ompi_osc_portals4_fetch_and_op(const void *origin_addr,
10351074                         (unsigned long ) win ));
10361075
10371076    ret  =  ompi_osc_portals4_get_dt (dt , & ptl_dt );
1038-     if  (OMPI_SUCCESS  !=  ret ) return  ret ;
1077+     if  (OMPI_SUCCESS  !=  ret ) {
1078+         opal_output (ompi_osc_base_framework .framework_output ,
1079+                 "MPI_Fetch_and_op: datatype is not currently supported" );
1080+         return  OMPI_ERR_NOT_SUPPORTED ;
1081+     }
10391082
10401083    offset  =  get_displacement (module , target ) *  target_disp ;
10411084
@@ -1083,7 +1126,11 @@ ompi_osc_portals4_fetch_and_op(const void *origin_addr,
10831126        ptl_size_t  result_md_offset , origin_md_offset ;
10841127
10851128        ret  =  ompi_osc_portals4_get_op (op , & ptl_op );
1086-         if  (OMPI_SUCCESS  !=  ret ) return  ret ;
1129+         if  (OMPI_SUCCESS  !=  ret ) {
1130+             opal_output (ompi_osc_base_framework .framework_output ,
1131+                     "MPI_Fetch_and_op: operation is not currently supported" );
1132+             return  OMPI_ERR_NOT_SUPPORTED ;
1133+         }
10871134
10881135        result_md_offset  =  (ptl_size_t ) result_addr ;
10891136        origin_md_offset  =  (ptl_size_t ) origin_addr ;
0 commit comments