[Bug analyzer/93773] Analyzer probably fails to recognize end of C macros in some cases

2021-02-17 Thread dmalcolm at gcc dot gnu.org via Gcc-bugs
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

2021-02-17 Thread dmalcolm at gcc dot gnu.org via Gcc-bugs
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

2020-02-18 Thread dmalcolm at gcc dot gnu.org
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

2020-02-17 Thread asolokha at gmx dot com
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

2020-02-17 Thread dmalcolm at gcc dot gnu.org
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?