From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 414683858C60; Fri, 27 Aug 2021 17:00:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 414683858C60 From: "msebor at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/102006] A false warning "Array subscript -N is outside array bounds warning" Date: Fri, 27 Aug 2021 17:00:50 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 11.1.0 X-Bugzilla-Keywords: diagnostic X-Bugzilla-Severity: normal X-Bugzilla-Who: msebor at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Aug 2021 17:00:50 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D102006 --- Comment #10 from Martin Sebor --- With the reduced test case from attachment 51366 I get the same warning: $ gcc -O2 -S -Wall -std=3Dc++20 -xc++ ListTest.cpp.i In constructor =E2=80=98double_iterator::double_iterator(single_iterator) [with T =3D Element; DLink =3D quick_link; ForwardLink =3D forward_link; BackwardLink =3D backward_link]=E2=80=99, inlined from =E2=80=98quick_list::iterator quick_list::end() [with T =3D Element; DLink =3D quick_link]=E2=80=99 at ListTest.cpp.i:66:43, inlined from =E2=80=98void ListHolder::PrintList()=E2=80=99 at ListTest= .cpp.i:92:73, inlined from =E2=80=98void List_TestFunc(const TestContext&)=E2=80=99 at ListTest.cpp.i:103:19: ListTest.cpp.i:30:96: warning: array subscript 0 is outside array bounds of =E2=80=98ListHolder [1]=E2=80=99 [-Warray-bounds] 30 | ator i) : double_iterator(static_cast(*i))= { } | ^ ListTest.cpp.i: In function =E2=80=98void List_TestFunc(const TestContext&)= =E2=80=99: ListTest.cpp.i:102:14: note: at offset -16 into object =E2=80=98holder=E2= =80=99 of size 16 102 | ListHolder holder (context); | ^~~~~~=