------- Comment #8 from steven at gcc dot gnu dot org  2005-11-07 23:29 -------
We get to "check_substring:" in match_varspec:

        PROGRAM P
        IMPLICIT CHARACTER*8 (Y)
        YLOCAL='A'
        YBTABLE=YLOCAL(1:2)
        END

check_substring:
  if (primary->ts.type == BT_CHARACTER)
    {
      switch (match_substring (primary->ts.cl, equiv_flag, &substring))
        {
        case MATCH_YES:
          if (tail == NULL)
            primary->ref = substring;

But at this point, while we have matched YLOCAL in the second assignment, we
still haven't picked up a type for it.  So primary->ts.type == BT_UNKNOWN and
we never even try to match the substring.

I'm not sure if YLOCAL should have just picked up a type earlier.  Thoughts,
Tobi?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24643

Reply via email to