PR middle-end/105604 - ICE: in tree_to_shwi with vla in struct and sprintf
authorMartin Sebor <msebor@redhat.com>
Tue, 24 May 2022 22:01:12 +0000 (16:01 -0600)
committerMartin Sebor <msebor@redhat.com>
Tue, 24 May 2022 22:05:50 +0000 (16:05 -0600)
commit10d1986aee47c592f903527bb68546efc557735d
tree15f3867b7b4e5891c79a8c132f9d68bf949249d5
parent1189c03859cefef4fc4fd44d57eb3d4d3348b562
PR middle-end/105604 - ICE: in tree_to_shwi with vla in struct and sprintf

gcc/ChangeLog:

PR middle-end/105604
* gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
(get_origin_and_offset_r): Remove null handling.  Handle variable array
sizes.
(get_origin_and_offset): Handle null argument here.  Simplify.
(alias_offset): Update comment.
* pointer-query.cc (field_at_offset): Update comment.  Handle members
of variable-length types.

gcc/testsuite/ChangeLog:

PR middle-end/105604
* gcc.dg/Wrestrict-24.c: New test.
* gcc.dg/Wrestrict-25.c: New test.
* gcc.dg/Wrestrict-26.c: New test.

Co-authored-by: Richard Biener <rguenther@suse.de>
gcc/gimple-ssa-sprintf.cc
gcc/pointer-query.cc
gcc/testsuite/gcc.dg/Wrestrict-24.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/Wrestrict-25.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/Wrestrict-26.c [new file with mode: 0644]