From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id AE6F63857344; Thu, 14 Apr 2022 08:03:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AE6F63857344 From: "avarab at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug analyzer/105264] -Wanalyzer-use-of-uninitialized-value gets confused about var + i v.s. &var[i] Date: Thu, 14 Apr 2022 08:03:44 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: analyzer X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: avarab at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: dmalcolm 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: Thu, 14 Apr 2022 08:03:44 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105264 --- Comment #2 from =C3=86var Arnfj=C3=B6r=C3=B0 Bjarmason --- I think I can do one better. Here's a stand-alone reproducible test case without any headers except standard headers, I've expanded the gcc -E versi= on of that too, but presumably you won't need it. It's screaming bloddy murder about various other things, since I did a rath= er bad hatchet job of copy/pasting various structs I needed from local headers into the testcase, and deleted some code I could do away with, but as noted= in the now-added comment in the code: 1. "mmfs + i" to "&mmfs[i]" makes it go away, so if it's a loop-iterator problem wouldn't that apply to both? 2. I tried copying the relevant function into the file and that makes it go away too, so some cross-file analysis limitation? Will follow-up and attach both the testcase & the gcc -E version, tested wi= th: gcc -o testcase -fanalyzer testcase.c=