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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |msebor at gcc dot gnu.org
   Last reconfirmed|                            |2021-02-04

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed.  The ICE is in accessing arg_type in the snippet below when it's
null.

  tree arg_type = TREE_TYPE (TREE_TYPE (arg));
  ...
  /* True to include a cast to the accessed type.  */
  const bool access_cast
    = ((op && op != TREE_OPERAND (arg, 0))
       || VOID_TYPE_P (arg_type)
       || !lang_hooks.types_compatible_p (access_type, arg_type));
  const bool has_off = byte_off != 0 || (op && op != TREE_OPERAND (arg, 0));

arg is set to the integer but the arg_type initalizer assumes it's a pointer:

 <ssa_name 0x7fffea802d38
    type <integer_type 0x7fffea810738 long int public DI
        size <integer_cst 0x7fffea7f7cd8 constant 64>
        unit-size <integer_cst 0x7fffea7f7cf0 constant 8>
        align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fffea810738 precision:64 min <integer_cst 0x7fffea7f7f60
-9223372036854775808> max <integer_cst 0x7fffea7f7f78 9223372036854775807>
        pointer_to_this <pointer_type 0x7fffea820150>>
    visited var <parm_decl 0x7fffea950080 _round_2_cb_n_0>
    def_stmt GIMPLE_NOP
    version:2>

Reply via email to