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>