Hi Tobias,
OK for the trunk?
I just checked, and this gets a segfault for program main character (len=3), parameter :: x = 'abc' print *, x(2:2) end program main + if (ts) + e->kind = ts->kind; + else if (e->symtree->n.sym->ts.type == BT_CHARACTER) + e->kind = ts->kind; There are two potential problems: e->symtree could be NULL, and (if the second assignment is reached) ts is NULL. You may have meant e->kind = e->symtree->n.sym->ts.kind; Could you correct that, and resubmit? Thanks for working on this! Best regards Thomas