https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125618
Bug ID: 125618
Summary: [Regression 17] Wrong encoding of zero-sized arrays
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: uecker at gcc dot gnu.org
Target Milestone: ---
06970adca69c9c577e6c75f4e69a08cd9ea2df0 is the first bad commit
commit 106970adca69c9c577e6c75f4e69a08cd9ea2df0
Author: Martin Uecker <[email protected]>
Date: Wed Jun 3 17:57:30 2026 +0200
c: harmonize handling of arrays
caused
FAIL: gcc.dg/debug/ctf/ctf-array-2.c scan-assembler-times 0x12000000[\t
]+[^\n]*ctt_info 2
FAIL: gcc.dg/debug/ctf/ctf-array-2.c scan-assembler-times [\t ]0[\t
]+[^\n]*cta_nelems 2
FAIL: gcc.dg/Warray-bounds-52.c (test for excess errors)
FAIL: gcc.dg/Warray-bounds-52.c (test for warnings, line 19)
FAIL: gcc.dg/Warray-bounds-52.c (test for warnings, line 20)
FAIL: gcc.dg/Warray-bounds-52.c (test for warnings, line 21)
FAIL: gcc.dg/Warray-bounds-52.c (test for warnings, line 34)
FAIL: gcc.dg/Warray-bounds-52.c (test for warnings, line 35)
FAIL: gcc.dg/Warray-bounds-53.c (test for excess errors)
FAIL: gcc.dg/Warray-bounds-53.c (test for warnings, line 19)
FAIL: gcc.dg/Warray-bounds-53.c (test for warnings, line 20)
FAIL: gcc.dg/Warray-bounds-53.c (test for warnings, line 21)
FAIL: gcc.dg/Warray-bounds-53.c (test for warnings, line 34)
FAIL: gcc.dg/Warray-bounds-53.c (test for warnings, line 35)
FAIL: g++.dg/warn/Warray-bounds15.C -std=gnu++14 (test for warnings, line 38)
FAIL: g++.dg/warn/Warray-bounds15.C -std=gnu++20 (test for warnings, line 38)
FAIL: g++.dg/warn/Warray-bounds15.C -std=gnu++26 (test for warnings, line 38)
with GCC configured with
../../gcc/configure
--prefix=/export/users3/haochenj/src/gcc-bisect/master/master/r17-1353/usr
--enable-clocale=gnu --with-system-zlib --with-demangler-in-ld
--with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet --without-isl
--enable-libmpx x86_64-linux --disable-bootstrap
To reproduce:
$ cd {build_dir}/gcc && make check
RUNTESTFLAGS="ctf.exp=gcc.dg/debug/ctf/ctf-array-2.c
--target_board='unix{-m32}'"
$ cd {build_dir}/gcc && make check
RUNTESTFLAGS="ctf.exp=gcc.dg/debug/ctf/ctf-array-2.c --target_board='unix{-m32\
-march=cascadelake}'"
$ cd {build_dir}/gcc && make check
RUNTESTFLAGS="dg.exp=gcc.dg/Warray-bounds-52.c --target_board='unix{-m32}'"
$ cd {build_dir}/gcc && make check
RUNTESTFLAGS="dg.exp=gcc.dg/Warray-bounds-52.c --target_board='unix{-m32\
-march=cascadelake}'"
$ cd {build_dir}/gcc && make check
RUNTESTFLAGS="dg.exp=gcc.dg/Warray-bounds-53.c --target_board='unix{-m32}'"
$ cd {build_dir}/gcc && make check
RUNTESTFLAGS="dg.exp=gcc.dg/Warray-bounds-53.c --target_board='unix{-m32\
-march=cascadelake}'"
$ cd {build_dir}/gcc && make check
RUNTESTFLAGS="dg.exp=g++.dg/warn/Warray-bounds15.C --target_board='unix{-m32}'"
$ cd {build_dir}/gcc && make check
RUNTESTFLAGS="dg.exp=g++.dg/warn/Warray-bounds15.C --target_board='unix{-m32\
-march=cascadelake}'"