https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102760
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |minor
Keywords| |ice-checking
Ever confirmed|0 |1
Last reconfirmed| |2021-10-15
Status|UNCONFIRMED |NEW
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
There is a types which are not the same issue.
(gdb) p debug_tree(*expr_p)
<init_expr 0x7ffff737de88
type <integer_type 0x7ffff725f5e8 int public SI
size <integer_cst 0x7ffff7244f78 constant 32>
unit-size <integer_cst 0x7ffff7244f90 constant 4>
align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff725f5e8 precision:32 min <integer_cst 0x7ffff7244f30 -2147483648> max
<integer_cst 0x7ffff7244f48 2147483647>
pointer_to_this <pointer_type 0x7ffff7267a80>>
side-effects
arg:0 <ssa_name 0x7ffff724fe10 type <integer_type 0x7ffff725f5e8 int>
def_stmt _2 = _1 & -128;
version:2>
arg:1 <bit_and_expr 0x7ffff737de60 type <integer_type 0x7ffff725f5e8 int>
arg:0 <ssa_name 0x7ffff724fdc8 type <integer_type 0x7ffff725f3f0 char>
def_stmt _1 = *type;
version:1>
arg:1 <integer_cst 0x7ffff7263420 constant -128>>
t.c:3:18 start: t.c:3:18 finish: t.c:3:31>
This shows up in GCC 11 (with checking enabled).