https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58331
--- Comment #9 from Tobias Burnus <burnus at gcc dot gnu.org> --- COARRAYS: (In reply to anlauf from comment #7) > I tried other testcases that use coarrays, but e.g. the following scalar > coarray case produces an ICE later on. I believe this is a pre-existing > separate issue. A coarray 'ca' can either be a local variable (the usual case), a remove reference (then with '[indx]' in the expr) - or, like here, the full thing. In gfc_conv_intrinsic_to_class, the gfc_conv_expr_reference 'destroys' the coarray part. I think we need something like 'gfc_conv_variable' — and I bet that we need to ensure all combinations work: (scalar,array w/o and w/ descriptor) → (assumed rank, array w/o and w/ descriptor) - where the 'to class' (and, obviously, the 'from' was well) are coarrays. Besides intrinsic types -> class(*), we should also check check type(t) -> ('class(t)' and 'class(*)')