https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70149
--- Comment #3 from kargl at gcc dot gnu.org --- The ICE is due to the gcc_assert in svn annotate trans-decl.c ... 84542 pbrook if (TREE_CODE (length) != INTEGER_CST) 81764 dnovillo { 81764 dnovillo gfc_finish_var_decl (length, sym); 87187 pbrook gcc_assert (!sym->value); 81764 dnovillo } Removing the gcc_assert allows the code to compile. There are no regression caused by the removal. Given that 87187 was a long time ago, I wonder if the assert makes sense.