Am Donnerstag, dem 04.06.2026 um 22:29 -0600 schrieb Jeffrey Law:
> 
> On 6/4/2026 10:13 PM, Martin Uecker wrote:
> > Am Donnerstag, dem 04.06.2026 um 21:38 -0600 schrieb Jeffrey Law:
> > > On 6/3/2026 1:18 PM, Martin Uecker wrote:
> > > > Bootstrapped and regression tested on x86_64.
> > > > 
> > > > 
> > > >       c: harmonize handling of arrays
> > > >       
> > > >       This code harmonizes the handling of arrays in C by consistently
> > > >       using build_index_type instead of build_range_type when creating
> > > >       arrays and using top_array_vla_pp to detect top-level VLAs.
> > > >       
> > > >       gcc/c-family/ChangeLog:
> > > >               * c-common.cc (complete_array_type): Use build_index_type.
> > > >               * c-ubsan.cc (ubsan_instrument_bounds_pointer_address):
> > > >                 Likewise.
> > > >       
> > > >       gcc/c/ChangeLog:
> > > >               * c-decl.cc (grokdeclarator): Likewise.
> > > >               * c-typeck.cc (c_verify_type,c_build_array_type,
> > > >               c_expr_countof_expr,comptypes_internal): Use 
> > > > top_array_vla_p.
> > > >               (top_array_vla_p): Rename to use _p convention and 
> > > > simplify.
> > > This is causing warning regressions on a variety of ports, including but
> > > not limited to fr30-elf, m32r-elf, bfin-elf visium-elf, sh3-linux-gnu
> > > c6x-elf cris-elf, etc etc.
> > > 
> > > > Tests that now fail, but worked before (14 tests):
> > > > 
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-52.c  (test for warnings, line 19)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-52.c  (test for warnings, line 20)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-52.c  (test for warnings, line 21)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-52.c  (test for warnings, line 34)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-52.c  (test for warnings, line 35)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-52.c (test for excess errors)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-53.c  (test for warnings, line 19)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-53.c  (test for warnings, line 20)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-53.c  (test for warnings, line 21)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-53.c  (test for warnings, line 34)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-53.c  (test for warnings, line 35)
> > > > fr30-sim: gcc: gcc.dg/Warray-bounds-53.c (test for excess errors)
> > Strange, I wonder whether it is related to the one build_range_type
> > in c-common.cc
> No clue.  I haven't debugged it at all, just did the bisection.

Yes, thanks. It is related to representation of size zero arrays, 
I will fix this.

Martin

Reply via email to