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.