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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dmalcolm at gcc dot gnu.org
          Component|c                           |analyzer

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
The bug is in the analyzer which builds a MEM_REF with non-pointer argument
zero here:

#0  0x000000000194ce94 in build2 (code=MEM_REF, 
    tt=<record_type 0x7ffff669ed20 TYPE_14__>, 
    arg0=<ssa_name 0x7ffff6575d38 2>, arg1=<integer_cst 0x7ffff66b0138>)
    at /home/rguenther/src/gcc3/gcc/tree.c:4876
#1  0x0000000001ac2f7e in ana::region_model::get_representative_path_var (
    this=0x3b27a30, reg=0x3b237c0, visited=0x7fffffffc6c0)
    at /home/rguenther/src/gcc3/gcc/analyzer/region-model.cc:2319
#2  0x0000000001ac303d in ana::region_model::get_representative_path_var (
    this=0x3b27a30, reg=0x3b23800, visited=0x7fffffffc6c0)
    at /home/rguenther/src/gcc3/gcc/analyzer/region-model.cc:2334

(gdb) l
2314            const svalue *pointer = symbolic_reg->get_pointer ();
2315            path_var pointer_pv = get_representative_path_var (pointer,
visited);
2316            if (!pointer_pv)
2317              return path_var (NULL_TREE, 0);
2318            tree offset = build_int_cst (pointer->get_type (), 0);
2319            return path_var (build2 (MEM_REF,
2320                                     reg->get_type (),
2321                                     pointer_pv.m_tree,
2322                                     offset),
2323                             pointer_pv.m_stack_depth);

Reply via email to