https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107952
--- Comment #14 from Siddhesh Poyarekar <siddhesh at gcc dot gnu.org> --- (In reply to Qing Zhao from comment #13) > > > > The first is handled by the function just fine, > > No, even the first case is not recognized by the current > “array_ref_flexible_size_p”, it’s not been identified as a flexible array > right now. > Shall we include this case into “array_ref_flexible_size_p”? (It’s a GCC > extension). In the first case, array_ref_flexible_size_p recognizes S2.flex.data as having flexible size. The tests in my patch[1] for this bug checks for this. However, array_ref_flexible_size_p does not recognize S2.flex as having flexible size. It might make sense to support that, i.e. any struct or union with the last element as a flex array should be recognized as having flexible size. [1] https://sourceware.org/pipermail/gcc-patches/2022-December/608912.html