On 19 November 2019 23:54:55 CET, Thomas Koenig <tkoe...@netcologne.de> wrote: >Am 19.11.19 um 11:39 schrieb Bernhard Reutner-Fischer: >> + char name[GFC_MAX_SYMBOL_LEN + 1]; >> + snprintf (name, GFC_MAX_SYMBOL_LEN, "__dummy_%d_%s", var_num++, >> + f->sym->name); >> + >> + if (gfc_get_sym_tree (name, ns, &symtree, false) != 0) >> >> (I) you should + sizeof(__dummy__) + 10 for unsigned long %d or the >like. > >GFC_MAX_SYMBOL_LEN is the maximum length of a gfortran symbol. AFAIK,
This is only true for user-provided names in the source code. Think e.g. class names as can be seen in the dumps.. >it >is not possible to use a longer symbol name than that, so it needs to >be >truncated. Uniqueness of the variable name is guaranteed by the var_num >variable. > >If the user puts dummy arguments Supercalifragilisticexpialidociousa >and >Supercalifragilisticexpialidociousb into the argument list of a >procedure, he will have to look at the numbers to differentiate them >:-) > >> (II) s/__dummy/__intent_in/ for clarity? > >It's moved away a bit from INTENT(IN) now, because an argument which >cannot be modified (even by passing to a procedure with a dummy >argument >with unknown intent) is now also handled. So maybe __readonly_ , __rdonly_, __rd_or the like? dummy is really misleading a name in the dumps.. thanks,