https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79413
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- The typeof is not needed to trigger the ICE: void fn1 () { int a[1/0]; } void fn2 () { fn1(); } But we create a DECL_EXPR for 'a' in finish_decl: 5098 add_stmt (build_stmt (DECL_SOURCE_LOCATION (decl), 5099 DECL_EXPR, decl)); So it doesn't seem to be the problem?