https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64947
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Internal compiler error: in |ICE in gimplify_expr, at |gimplify_expr, at |gimplify.c:8425 with arrays |gimplify.c:8425 |of type(C_PTR) --- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Tobias Burnus from comment #2) > void * D.3415; > D.3415 = (*strings)[0]; > D.3417 = strnlen (*D.3415, 40); Namely, the "*D.3415" is the problem. What data type has a "void *" pointer if it is dereferenced? We really have to pass D.3415 to strlen - not the derefed temporary variable.