------- Comment #6 from domob at gcc dot gnu dot org 2009-01-25 08:36 ------- (In reply to comment #4) > in gfc_conv_elemental_dependencies which then in > gfc_trans_allocate_array_storage gets accessed as: > tmp = TREE_TYPE (initial); /* Pointer to descriptor. */ > gcc_assert (TREE_CODE (tmp) == POINTER_TYPE); > tmp = TREE_TYPE (tmp); /* The descriptor itself. */ > tmp = gfc_get_element_type (tmp);
This is very likely the problem here; I guess 'tmp' should get integer_type instead of record_type, too, and the code above misses to do so. When I wrote this fragment, it was more or less just a trial-and-error process as I (still) don't know the backend-stuff quite well; I will try to get the correct sequence which will hopefully fix this problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38883