@@ -143,7 +143,7 @@ int main(int argc, char *argv[])
143143 parsec_matrix_block_cyclic_t fakeDesc ;
144144 parsec_project_taskpool_t * project ;
145145 parsec_walk_taskpool_t * walker ;
146- parsec_arena_datatype_t adt ;
146+ parsec_arena_datatype_t * adt = PARSEC_OBJ_NEW ( parsec_arena_datatype_t ) ;
147147 int do_checks = 0 , be_verbose = 0 ;
148148 int pargc = 0 , i ;
149149 char * * pargv ;
@@ -216,24 +216,22 @@ int main(int argc, char *argv[])
216216 0 , 0 , world , world ,
217217 1 , world , 1 , 1 , 0 , 0 );
218218
219- parsec_matrix_adt_construct_rect ( & adt ,
219+ parsec_matrix_adt_construct_rect ( adt ,
220220 parsec_datatype_float_t , 2 , 1 , 2 );
221221
222222#if defined(HAVE_MPI )
223223 MPI_Barrier (MPI_COMM_WORLD );
224224#endif
225225
226226 project = parsec_project_new (treeA , world , (parsec_data_collection_t * )& fakeDesc , 1e-3 , be_verbose , 1.0 );
227- project -> arenas_datatypes [PARSEC_project_DEFAULT_ADT_IDX ] = adt ;
228- PARSEC_OBJ_RETAIN (adt .arena );
227+ project -> arenas_datatypes [PARSEC_project_DEFAULT_ADT_IDX ] = * adt ;
229228 rc = parsec_context_add_taskpool (parsec , & project -> super );
230229 PARSEC_CHECK_ERROR (rc , "parsec_context_add_taskpool" );
231230 rc = parsec_context_start (parsec );
232231 PARSEC_CHECK_ERROR (rc , "parsec_context_start" );
233232 rc = parsec_context_wait (parsec );
234233 PARSEC_CHECK_ERROR (rc , "parsec_context_wait" );
235234
236- project -> arenas_datatypes [PARSEC_project_DEFAULT_ADT_IDX ].arena = NULL ;
237235 parsec_taskpool_free (& project -> super );
238236 ret = 0 ;
239237
@@ -247,7 +245,7 @@ int main(int argc, char *argv[])
247245 rs , print_node_fn , print_link_fn ,
248246 be_verbose );
249247 }
250- walker -> arenas_datatypes [PARSEC_walk_DEFAULT_ADT_IDX ] = adt ;
248+ walker -> arenas_datatypes [PARSEC_walk_DEFAULT_ADT_IDX ] = * adt ;
251249 rc = parsec_context_add_taskpool (parsec , & walker -> super );
252250 PARSEC_CHECK_ERROR (rc , "parsec_context_add_taskpool" );
253251 rc = parsec_context_start (parsec );
@@ -291,9 +289,8 @@ int main(int argc, char *argv[])
291289 }
292290 }
293291#endif /* defined(HAVE_MPI) */
294- parsec_matrix_arena_datatype_destruct_free_type ( & adt );
292+ parsec_matrix_adt_free ( & adt );
295293
296- walker -> arenas_datatypes [PARSEC_walk_DEFAULT_ADT_IDX ].arena = NULL ;
297294 parsec_taskpool_free (& walker -> super );
298295
299296 tree_dist_free (treeA );
0 commit comments