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

dmalcolm at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Feb 17 21:14:01 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93773

--- Comment #5 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
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")


More information about the Gcc-bugs mailing list