------- Comment #4 from burnus at gcc dot gnu dot org 2010-05-06 16:37 ------- (In reply to comment #3) > See also PR 43895
As I feared there: There seems to be an inconsistency with CLASS with POINTER or ALLOCATABLE attribute: Is "class.$DATA" or "class" the pointer variable. If one adds "b = ALLOCATED(x)" one finds: x.a.$data = 0B; ! Default initialization sets class.$data to NULL D.1577 = &x->a; ! ALLOCATED check looks at "(class != NULL)" b = D.1577 != 0B; Which does not make sense. [This might be unrelated to the ICE.] -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43990