https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83515
--- Comment #8 from anlauf at gcc dot gnu.org --- (In reply to anlauf from comment #7) The following patch fixes the ICE: Index: trans-types.c =================================================================== --- trans-types.c (revision 269779) +++ trans-types.c (working copy) @@ -1194,6 +1194,9 @@ basetype = pfunc_type_node; } break; + case BT_PROCEDURE: + basetype = pfunc_type_node; + break; default: gcc_unreachable (); } Index: target-memory.c =================================================================== --- target-memory.c (revision 269779) +++ target-memory.c (working copy) @@ -120,6 +120,7 @@ case BT_CLASS: case BT_VOID: case BT_ASSUMED: + case BT_PROCEDURE: { /* Determine type size without clobbering the typespec for ISO C binding types. */ However, I do not have a working code sample to run.