public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug analyzer/106620] New: Incorrectly thinks execution can continue after a return statement
@ 2022-08-15 8:55 nrk at disroot dot org
2022-08-15 15:33 ` [Bug analyzer/106620] " dmalcolm at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: nrk at disroot dot org @ 2022-08-15 8:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106620
Bug ID: 106620
Summary: Incorrectly thinks execution can continue after a
return statement
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: analyzer
Assignee: dmalcolm at gcc dot gnu.org
Reporter: nrk at disroot dot org
Target Milestone: ---
Created attachment 53457
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53457&action=edit
sample code
Sample code (also attached) : https://godbolt.org/z/ez556Yd39
It thinks that memchr() is being called with null. But if `hay` was null, then
the function returns, so that's not possible. Removing the `|| nlen == 1`
silences the warning.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug analyzer/106620] Incorrectly thinks execution can continue after a return statement
2022-08-15 8:55 [Bug analyzer/106620] New: Incorrectly thinks execution can continue after a return statement nrk at disroot dot org
@ 2022-08-15 15:33 ` dmalcolm at gcc dot gnu.org
2022-08-15 15:34 ` dmalcolm at gcc dot gnu.org
2022-08-16 2:06 ` nrk at disroot dot org
2 siblings, 0 replies; 4+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2022-08-15 15:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106620
David Malcolm <dmalcolm at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |WORKSFORME
--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Thanks for filing this.
Looking at the Compiler Explorer link, the false positive occurs with gcc 11.1
at -O3.
With gcc 11.1 and gcc 11.3 the false +ve occurs at -O1 and above.
With gcc 12.1 and trunk, the false +ve does not occur.
I've made lots of implementation changes to -fanalyzer in gcc 12 in beyond that
I don't intend to backport to gcc 11, so I'm going to mark this as resolved
with "WORKSFORME".
Feel free to reopen it if you're able to reproduce it with gcc 12 or later;
thanks again for filing this.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug analyzer/106620] Incorrectly thinks execution can continue after a return statement
2022-08-15 8:55 [Bug analyzer/106620] New: Incorrectly thinks execution can continue after a return statement nrk at disroot dot org
2022-08-15 15:33 ` [Bug analyzer/106620] " dmalcolm at gcc dot gnu.org
@ 2022-08-15 15:34 ` dmalcolm at gcc dot gnu.org
2022-08-16 2:06 ` nrk at disroot dot org
2 siblings, 0 replies; 4+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2022-08-15 15:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106620
--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
(In reply to David Malcolm from comment #1)
> I've made lots of implementation changes to -fanalyzer in gcc 12 in beyond
"and beyond", I meant to say
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug analyzer/106620] Incorrectly thinks execution can continue after a return statement
2022-08-15 8:55 [Bug analyzer/106620] New: Incorrectly thinks execution can continue after a return statement nrk at disroot dot org
2022-08-15 15:33 ` [Bug analyzer/106620] " dmalcolm at gcc dot gnu.org
2022-08-15 15:34 ` dmalcolm at gcc dot gnu.org
@ 2022-08-16 2:06 ` nrk at disroot dot org
2 siblings, 0 replies; 4+ messages in thread
From: nrk at disroot dot org @ 2022-08-16 2:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106620
--- Comment #3 from nrk at disroot dot org ---
> Feel free to reopen it if you're able to reproduce it with gcc 12 or later
Huh, I linked to godbolt specifically because I wanted to test gcc 12 and see
if the bug still persists or not since my local version is at 11.2.1. But looks
like I messed it up.
In any case, thanks for fixing it!
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-08-16 2:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-15 8:55 [Bug analyzer/106620] New: Incorrectly thinks execution can continue after a return statement nrk at disroot dot org
2022-08-15 15:33 ` [Bug analyzer/106620] " dmalcolm at gcc dot gnu.org
2022-08-15 15:34 ` dmalcolm at gcc dot gnu.org
2022-08-16 2:06 ` nrk at disroot dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).