------- Comment #1 from burnus at gcc dot gnu dot org  2009-07-24 18:41 -------
Confirmed. Janus - I think it could be do to your 4.5 argument checking
patches.

==8885== Invalid read of size 8
==8885==    at 0x4C2050: compare_type_rank (interface.c:474)
==8885==    by 0x4C20C4: generic_correspondence (interface.c:905)
==8885==    by 0x4C28B9: gfc_compare_interfaces (interface.c:986)
==8885==  Address 0x98 is not stack'd, malloc'd or (recently) free'd


At a glance, the code looks innocent. interface.c:474 is the last line of:

compare_type_rank (gfc_symbol *s1, gfc_symbol *s2)
{
  int r1, r2;
  r1 = (s1->as != NULL) ? s1->as->rank : 0;
  r2 = (s2->as != NULL) ? s2->as->rank : 0;

The call is:
      if (f2 != NULL && compare_type_rank (f1->sym, f2->sym))
Seemingly f2->sym is NULL.


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |janus at gcc dot gnu dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
      Known to fail|                            |4.5.0
   Last reconfirmed|0000-00-00 00:00:00         |2009-07-24 18:41:19
               date|                            |


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

Reply via email to