------- Comment #1 from burnus at gcc dot gnu dot org  2006-12-17 20:15 -------
This is because in symbol.c's gfc_add_type there is

      const char *msg = "Symbol '%s' at %L already has basic type of %s";
      if (!(sym->ts.type == ts->typesym->ts.type == ts->type
             && (sym->attr.flavor == FL_PROCEDURE || sym->attr.result))
           || gfc_notification_std (GFC_STD_GNU) == ERROR
           || pedantic)
        {
          gfc_error (msg, sym->name, where, gfc_basic_typename (sym->ts.type));
          return FAILURE;
        }

The !(sym->ts.type == ts->type) prevents the error message. Removing this check
should all what is needed for this bug.
But this might break other cases were it is allowed. (I didn't check/though
about those, however).


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-12-17 20:15:55
               date|                            |


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

Reply via email to