[Bug c/125618] [17 Regression] Wrong encoding of zero-sized arrays
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Jun 6 21:57:33 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125618
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Uecker <uecker@gcc.gnu.org>:
https://gcc.gnu.org/g:68d3f1e2c20efe07f99de3720d1732c4b987ff22
commit r17-1397-g68d3f1e2c20efe07f99de3720d1732c4b987ff22
Author: Martin Uecker <uecker@tugraz.at>
Date: Sat Jun 6 15:08:19 2026 +0200
c: fix wrong encoding for zero-sized arrays [PR125618]
This reverts one change from 106970adca69c9c577e6c75f4e69a08cd9ea2df0
that replaced build_range_type with build_index_type. In the function
complete_array_type this breaks zero-sized arrays created from an empty
initializer which there are represented using the C++ FE way [0, -1]
causing issues on 32 bit architectures.
After this partial revert this representation remains inconsistent to
the usual C FE representation [0, NULL_TREE] (as before by change).
PR c/125618
gcc/c-family/ChangeLog:
* c-common.cc (complete_array_type): Change back to using
build_range_type.
More information about the Gcc-bugs
mailing list