https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78682
--- Comment #7 from Stefano Zaghi <stefano.zaghi at cnr dot it> --- Dear all, I confirm that with gcc 7.0.0 this ICE vanishes. However, I find a new ICE. I am not sure if it is good to report it here or if it is better to open a new ticket. In doubt, I start adding some details here. My current "env" is + GNU Fortran (GCC) 7.0.0 20161206 (experimental) + MPICH 3.2.0 built with GCC 7.0.0 + OpenCoarrays built 1.7.5 with GCC 7.0.0 and MPICH 3.2.0 + Linux 4.8.8-2-ARCH #1 SMP PREEMPT Thu Nov 17 14:51:03 CET 2016 x86_64 GNU/Linux The MCVE raising the ICE is attached as "MCVE of CAF-DT with allocatable member". Essentially, there is a "base" DT (named "node") with an allocatable member, a second DT (named "caf") that has a coarray member of "type(node)". The last concrete instance of "type(caf)" is a scalar, static variable thus the code should be valid (while I still think that the other is invalid). Compiling this new code with the above env generates the following ICE stefano@zaghi(09:38 AM Mon Dec 12) desk {opencoarrays-1.7.5-gnu-7.0.0 - OpenCoarrays 1.7.5 with gcc 7.0.0 environment} ~/fortran/compilers_bug/gfortran_sigsegv_caf_dt_allocatable_member 5 files, 84Kb → caf -fcoarray=lib sigsegv_caf_dt.f90 sigsegv_caf_dt.f90:77:0: end module caf_module internal compiler error: Segmentation fault 0xc0db4f crash_signal /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/toplev.c:333 0xeb1764 recompute_tree_invariant_for_addr_expr(tree_node*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/tree.c:4317 0xeb1d7c build1_stat(tree_code, tree_node*, tree_node*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/tree.c:4414 0x92c76c build1_stat_loc /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/tree.h:3903 0x92c76c fold_build1_stat_loc(unsigned int, tree_code, tree_node*, tree_node*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fold-const.c:12139 0x6f204f gfc_build_addr_expr(tree_node*, tree_node*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:298 0x70532b structure_alloc_comps /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-array.c:8329 0x7827b3 gfc_trans_deallocate(gfc_code*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:6477 0x6f1bf7 trans_code /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1942 0x7742f3 gfc_trans_if_1 /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1303 0x77c39a gfc_trans_if(gfc_code*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1334 0x6f1ce7 trans_code /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1878 0x7742f3 gfc_trans_if_1 /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1303 0x77c39a gfc_trans_if(gfc_code*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1334 0x6f1ce7 trans_code /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1878 0x77e271 gfc_trans_simple_do /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:1924 0x77e271 gfc_trans_do(gfc_code*, tree_node*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-stmt.c:2057 0x6f1cba trans_code /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:1890 0x723038 gfc_generate_function_code(gfc_namespace*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans-decl.c:6271 0x6f6949 gfc_generate_module_code(gfc_namespace*) /opt/arch/gcc/opencoarrays/prerequisites/downloads/trunk/gcc/fortran/trans.c:2164 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. My best regards.