https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750
--- Comment #6 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- Peeking at the gdb backtrace: #0 operator_cast::op1_range (this=0x2e23ac0 <op_convert>, r=..., type=0x7ffff7676c78, lhs=..., op2=...) at ../../gcc/gcc/range-op.cc:1881 #1 0x0000000001f7195e in gimple_range_calc_op1 (r=..., stmt=0x7ffff77c55a0, lhs_range=..., op2_range=...) at ../../gcc/gcc/gimple-range.cc:337 #2 0x0000000001f817e2 in gori_compute::compute_name_range_op (this=0x7fffffffd010, r=..., stmt=0x7ffff77c55a0, lhs=..., name=0x7ffff77b37e0) at ../../gcc/gcc/gimple-range-gori.cc:507 #3 0x0000000001f81c10 in gori_compute::compute_operand_range (this=0x7fffffffd010, r=..., stmt=0x7ffff77c55a0, lhs=..., name=0x7ffff77b37e0) at ../../gcc/gcc/gimple-range-gori.cc:607 range_op_handler (PLUS_EXPR, type)->fold_range (lhs_neg, type, converted_lhs, lim_range); (gdb) list range_op_handler 3420 3421 // The tables are hidden and accessed via a simple extern function. 3422 3423 range_operator * 3424 range_op_handler (enum tree_code code, tree type) 3425 { 3426 // First check if there is a pointer specialization. 3427 if (POINTER_TYPE_P (type)) 3428 return pointer_tree_table[code]; 3429 if (INTEGRAL_TYPE_P (type)) 3430 return integral_tree_table[code]; 3431 return NULL; 3432 } (gdb) call range_op_handler (PLUS_EXPR, type) $2 = (range_operator *) 0x0 (gdb) call debug_generic_expr(type) char * (gdb) call POINTER_TYPE_P(type) $7 = true