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)
committerRichard Biener <rguenther@suse.de>
Thu, 2 Jun 2022 08:13:10 +0000 (10:13 +0200)
commit740771a620f661800b99dfc039b8896e2ddb9265
tree5e74c8fef0f3409acdcfb57126424abe43e595a1
parente919fae01b89fa6d7fc742d140bb15dc2600becb
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>
(cherry picked from commit 10d1986aee47c592f903527bb68546efc557735d)
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]