http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45777
--- Comment #7 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2010-12-29 22:03:47 UTC --- I think we should be doing the checking against the typespec of the component. The component looks reasonable: p *(rref->u.c.component) $19 = {name = 0x7ffff5d11fa8 "data", ts = {type = BT_INTEGER, kind = 4, u = {derived = 0x0, cl = 0x0, pad = 0}, but the sym just has (gdb) p *(rref->u.c.sym) $20 = {name = 0x7ffff5d11f98 "t1", module = 0x7ffff5d11f88 "m1", declared_at = {nextc = 0x148a8e0, lb = 0x148a8a0}, ts = {type = BT_UNKNOWN, kind = 0, u = {derived = 0x0, cl = 0x0, pad = 0}, interface = 0x0, is_c_interop = 0, is_iso_c = 0, f90_type = BT_UNKNOWN, deferred = 0 '\000'}, attr = { allocatable = 0, dimension = 0, codimension = 0, external = 0, intrinsic = 0, optional = 0,