Am Tue, 5 May 2015 21:37:10 -0700 Andrew Pinski <pins...@gmail.com>: > On Tue, May 5, 2015@9:00 PM, Aditya K <hiradi...@msn.com> wrote:
> >>> > >>> gcc/rtlanal.c:5573:23: warning: array index 1 is past the end of the > >>> array (which contains 1 element) [-Warray-bounds] > >>> ../../gcc/rtlanal.c:5573:23: warning: array index 1 is past the end of > >>> the array (which contains 1 element) [-Warray-bounds] > >>> *second = GEN_INT (CONST_DOUBLE_HIGH (value)); > >>> ^~~~~~~~~~~~~~~~~~~~~~~~~ > >> > >> These warnings are bogus due to the array being the last element of the > >> structure. > >> > >> Please file that with clang. > >> > > > > IIRC, C++ does not allow flexible array members. > > > But this has been a common extension for many years now (since C++ and > C have been around). So warning is useless. A flexible array member has no size or with the gcc extension has size 0. Clang also does not warn about these. The array here seems to have size 1 and I have seen similar cases in the gcc code base with size 2. The benefit of cleaning this up would be that you could get proper warnings for arrays at the end of the struct which are not meant to be flexible array members. Martin