http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45978
Summary: bogus "array subscript is above array bounds" warning in extremely simple code with no loops Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@gnu.org Created attachment 22021 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22021 C++ source file illustrating bug [I don't know if the "component:" field is correct, but there doesn't seem to be a "I don't know" option] There are many bugs in gcc's bugzilla related to bogus array-bounds warnings, but most of them seem to involve loops and other situations that may need non-trivial analysis by the compiler. However the attached C++ source file ("tt.cc") seems to be almost trivial; it contains no loops at all, and all array references use a constant (and valid) index, but it nonetheless elicits an "array subscript is above array bounds" warning from the compiler. As far as I can figure, the warning is bogus. Compilation looks like: $ g++-snapshot -O3 -S -Wall -Wextra tt.cc tt.cc: In function 'Z test()': tt.cc:15:21: warning: array subscript is above array bounds [-Warray-bounds] Version info: $ g++-snapshot --version g++ (Debian 20101009-1) 4.6.0 20101009 (experimental) [trunk revision 165234] Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "g++-snapshot" just invokes g++ from Debian's gcc-snapshot package, which is a somewhat recent trunk snapshot. ["tt.cc" is as minimal as I can get it -- moving, eliminating, or changing any field in any of the structures seems to silence the warning.] Thanks, -Miles