This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/24643] Unclassifiable statement on implicitly typed character substring



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]