https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109598
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2023-04-24 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. While it's possible to fend this off during gimplification it would be nice if the frontend wouldn't emit <addr_expr 0x7ffff737a2e0 type <pointer_type 0x7ffff71eee70 type <integer_type 0x7ffff71e33f0 char public QI size <integer_cst 0x7ffff71c4e88 constant 8> unit-size <integer_cst 0x7ffff71c4ea0 constant 1> align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7ffff71e33f0 precision:8 min <integer_cst 0x7ffff71c4ed0 -128> max <integer_cst 0x7ffff71c4f00 127> pointer_to_this <pointer_type 0x7ffff71eee70>> unsigned DI size <integer_cst 0x7ffff71c4d98 constant 64> unit-size <integer_cst 0x7ffff71c4db0 constant 8> align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7ffff71eee70 reference_to_this <reference_type 0x7ffff7364dc8>> constant arg:0 <array_ref 0x7ffff71c2508 type <integer_type 0x7ffff71e33f0 char> arg:0 <var_decl 0x7ffff71d2cf0 g type <error_mark 0x7ffff71c4d80> addressable used public external read BLK t.c:1:13 align:8 warn_if_not_align:0 context <translation_unit_decl 0x7ffff71d1d20 t.c> chain <function_decl 0x7ffff736f800 foo>> arg:1 <integer_cst 0x7ffff71e7138 constant 0> t.c:5:12 start: t.c:5:11 finish: t.c:5:14> t.c:5:10 start: t.c:5:10 finish: t.c:5:14> specifically arg:0 <array_ref 0x7ffff71c2508 type <integer_type 0x7ffff71e33f0 char> arg:0 <var_decl 0x7ffff71d2cf0 g type <error_mark 0x7ffff71c4d80> note the array_ref has type 'char' but the var_decl has type error_mark.