Skip to content

Commit c1a0455

Browse files
committed
Set the data_in to NULL before using the temporary task.
I'm not sure I understand how this worked so far, because the temporary stack-based task we use to prepare the successors is barely initialized, not enough to call parsec_task_snprintf on it. The least info we need to set is to NULLify the data_in for all task classs flows. Signed-off-by: George Bosilca <gbosilca@nvidia.com>
1 parent 817edf2 commit c1a0455

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

  • parsec/interfaces/ptg/ptg-compiler

parsec/interfaces/ptg/ptg-compiler/jdf2c.c

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7382,7 +7382,8 @@ static char *jdf_dump_context_assignment(string_arena_t *sa_open,
73827382
prefix, indent(nbopen), parsec_get_name(jdf, targetf, "task_t"), parsec_get_name(jdf, targetf, "task_t"), var);
73837383
string_arena_add_string(sa_open, "%s%s%s.task_class = __parsec_tp->super.super.task_classes_array[%s_%s.task_class_id];\n",
73847384
prefix, indent(nbopen), var, jdf_basename, targetf->fname);
7385-
7385+
string_arena_add_string(sa_open, "%s%sfor (int _i = 0; _i < %s.task_class->nb_flows; %s.data[_i].data_in = NULL, _i++);\n",
7386+
prefix, indent(nbopen), var, var);
73867387
nbparam_given = 0;
73877388
for(el = call->parameters; el != NULL; el = el->next) {
73887389
nbparam_given++;
@@ -7414,7 +7415,7 @@ static char *jdf_dump_context_assignment(string_arena_t *sa_open,
74147415
dep_ld = jdf_expr_lv_next(dep->local_defs, dep_ld);
74157416
continue; /* This local define was already issued as part of the dep */
74167417
}
7417-
string_arena_add_string(sa_open, "%s%s int %s;\n", prefix, indent(nbopen), ld->alias);
7418+
string_arena_add_string(sa_open, "%s%sint %s;\n", prefix, indent(nbopen), ld->alias);
74187419
if(JDF_RANGE == ld->op) {
74197420
string_arena_add_string(sa_open,
74207421
"%s%sfor( %s = %s;",
@@ -7452,11 +7453,11 @@ static char *jdf_dump_context_assignment(string_arena_t *sa_open,
74527453
*/
74537454
assert(el == NULL);
74547455
string_arena_add_string(sa_open,
7455-
"%s%s const int %s_%s = %s;\n",
7456+
"%s%sconst int %s_%s = %s;\n",
74567457
prefix, indent(nbopen), targetf->fname, vl->name, dump_expr((void**)vl->expr, &dest_info));
7457-
string_arena_add_string(sa_open, "%s%s assert(&%s.locals[%d].value == &ncc->locals.%s.value);\n",
7458+
string_arena_add_string(sa_open, "%s%sassert(&%s.locals[%d].value == &ncc->locals.%s.value);\n",
74587459
prefix, indent(nbopen), var, i, vl->name);
7459-
string_arena_add_string(sa_open, "%s%s ncc->locals.%s.value = %s_%s;\n",
7460+
string_arena_add_string(sa_open, "%s%sncc->locals.%s.value = %s_%s;\n",
74607461
prefix, indent(nbopen), vl->name,
74617462
targetf->fname, vl->name);
74627463
} else {
@@ -7513,7 +7514,7 @@ static char *jdf_dump_context_assignment(string_arena_t *sa_open,
75137514

75147515
if( JDF_RANGE == el->op ) {
75157516
string_arena_add_string(sa_open,
7516-
"%s%s int %s_%s;\n",
7517+
"%s%sint %s_%s;\n",
75177518
prefix, indent(nbopen), targetf->fname, nl->name);
75187519

75197520
string_arena_add_string(sa_open,
@@ -7526,7 +7527,7 @@ static char *jdf_dump_context_assignment(string_arena_t *sa_open,
75267527
nbopen++;
75277528
} else {
75287529
string_arena_add_string(sa_open,
7529-
"%s%s const int %s_%s = %s;\n",
7530+
"%s%sconst int %s_%s = %s;\n",
75307531
prefix, indent(nbopen), targetf->fname, nl->name, dump_expr((void**)el, &local_info));
75317532
}
75327533

0 commit comments

Comments
 (0)