https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114778

--- Comment #3 from Anonymous <iamanonymous.cs at gmail dot com> ---
(In reply to David Malcolm from comment #1)
> 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.

Thank you for your answer to this issue!

Reply via email to