Hello, Le 12/04/2013 20:38, Janus Weil a écrit : > Unless someone has a better idea how to treat this, I will commit the > attached patch as obvious. > Not really a better idea, but it seems to me that function calls can have trailing sub-references, so that gfc_match_varspec could be called on them.
gfc_match_rvalue has: [...] switch (sym->attr.flavor) { [...] case FL_UNKNOWN: [... try to match a variable ...] /* Give up, assume we have a function. */ [...] e->expr_type = EXPR_FUNCTION; [...] gfc_match_actual_arglist (...); [...] /* If our new function returns a character, array or structure type, it might have subsequent references. */ m = gfc_match_varspec (e, ...); So, it seems that EXPR_FUNCTION is acceptable in gfc_match_varspec. And then, there is nothing preventing 'c(i)' in 'c(i)%encM()' from being parsed as a function. Is this supported? Mikael