]> git.ipfire.org Git - thirdparty/gcc.git/commit
varasm: Fix up RAW_DATA_CST handling in array_size_for_constructor [PR117190]
authorJakub Jelinek <jakub@redhat.com>
Tue, 22 Oct 2024 18:20:23 +0000 (20:20 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 22 Oct 2024 18:21:17 +0000 (20:21 +0200)
commit8f173da4520ddf64f3926580042f1103146bf0bd
tree937c57c95abd763e31b4b9adc3e04c4152440cc1
parent1bdeebe69b71bf23c9bcd9965a736a5c1e0d5f83
varasm: Fix up RAW_DATA_CST handling in array_size_for_constructor [PR117190]

CONSTRUCTOR indices for arrays have bitsize type, and the r15-4375
patch actually got it right in 6 other spots, but not in this function,
where it used size_int rather than bitsize_int and so size_binop can ICE
on type mismatch.

This is covered by the init-5.c testcase I've just posted, though the ICE
goes away when the C FE is fixed (and when it is not, there is another
ICE).

2024-10-22  Jakub Jelinek  <jakub@redhat.com>

PR c/117190
* varasm.cc (array_size_for_constructor): For RAW_DATA_CST,
use bitsize_int rather than size_int.
gcc/varasm.cc