https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114778
--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> --- Thanks for filing this. It's failing this assertion in frame_region::get_region_for_local : 1421 case VAR_DECL: 1422 gcc_assert (!is_global_var (expr)); 1423 /* Fall through. */ 1424 case PARM_DECL: 1425 case RESULT_DECL: 1426 gcc_assert (DECL_CONTEXT (expr) == m_fun.decl); 1427 break; (gdb) pt expr <var_decl 0x7fffea8212d0 D.2795 type <integer_type 0x7fffea664000 sizetype public unsigned DI size <integer_cst 0x7fffea644f48 constant 64> unit-size <integer_cst 0x7fffea644f60 constant 8> align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7fffea664000 precision:64 min <integer_cst 0x7fffea644f78 0> max <integer_cst 0x7fffea6455e0 18446744073709551615>> used unsigned ignored DI ../../src/pr114778.c:6:5 size <integer_cst 0x7fffea644f48 64> unit-size <integer_cst 0x7fffea644f60 8> align:64 warn_if_not_align:0 context <function_decl 0x7fffea7f5a00 f>> (gdb) p m_fun.decl $1 = <function_decl 0x7fffea7f5600 a> Looks like another ICE due to GCC's nested functions extension for C, which the analyzer doesn't yet support.