[Bug analyzer/93773] Analyzer probably fails to recognize end of C macros in some cases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93773 --- Comment #5 from David Malcolm --- Specifically: +--> ‘make_assignable’: events 5-6 | | 5352 | make_assignable(INSTRUCTION *ip) | | ^~~ | | | | | (5) entry to ‘make_assignable’ | 5353 | { | 5354 | switch (ip->opcode) { | | ~~ | | | | | (6) following ‘default:’ branch... | ‘make_assignable’: event 7 | |cc1: | (7): ...to here | <--+ | ‘mk_getline’: events 8-9 | | 6025 | tp = make_assignable(var->lasti); | | ^~~ | | | | | (8) return of NULL to ‘mk_getline’ from ‘make_assignable’ |.. | 6029 | if (tp->opcode == Op_push_lhs | | ~~ | | | | | (9) dereference of NULL ‘tp’ (albeit where event 7 doesn't have a source location, but is a "return NULL")
[Bug analyzer/93773] Analyzer probably fails to recognize end of C macros in some cases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93773 David Malcolm changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |WORKSFORME --- Comment #4 from David Malcolm --- A year later, I had another ago at reproducing this, but am still failing; I see reasonable output on a single -Wanalyzer-null-dereference warning with trunk (for gcc 11). I'm going to close this out as "WORKSFORME". Thanks for filing this; feel free to reopen if you can come up with a reproducer.
[Bug analyzer/93773] Analyzer probably fails to recognize end of C macros in some cases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93773 --- Comment #3 from David Malcolm --- I'm still working on reproducing this. Looking at the stderr from attachment 47857, this seems reminiscent of g:b4f3232d6979022a36b4055d7d3aaba693a39938 (PR c++/70105 and PR c/68473) and also g:876217ae71cf0b34490f8f53bb2a12d99d8baa7a (PR other/69554)
[Bug analyzer/93773] Analyzer probably fails to recognize end of C macros in some cases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93773 --- Comment #2 from Arseny Solokha --- Created attachment 47862 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47862=edit Testcase (In reply to David Malcolm from comment #1) > Looks like awkgram.y and awk.h - do you still have those handy? awkgram.c generated from awkgram.y using my copy of bison does not yield excessive analyzer output for me, while the one distributed in the release tarball does.
[Bug analyzer/93773] Analyzer probably fails to recognize end of C macros in some cases
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93773 --- Comment #1 from David Malcolm --- Thanks for filing this. You attached the output, and it's clear from that there's an issue. Are you able to attach the (unreduced) source code in question ? Looks like awkgram.y and awk.h - do you still have those handy?