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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Malcolm <dmalc...@gcc.gnu.org>:

https://gcc.gnu.org/g:26d949c8c7a757df891ce79162b9bf15087418c6

commit r10-6254-g26d949c8c7a757df891ce79162b9bf15087418c6
Author: David Malcolm <dmalc...@redhat.com>
Date:   Fri Jan 24 21:31:21 2020 +0000

    analyzer: fix build with gcc 4.4 (PR 93276)

    This patch fixes various build failures seen with gcc 4.4

    gcc prior to 4.6 complains about:

      error: #pragma GCC diagnostic not allowed inside functions

    for various uses of PUSH_IGNORE_WFORMAT and POP_IGNORE_WFORMAT.
    This patch makes them a no-op with such compilers.

    The patch also fixes various errors with template base initializers
    and redundant uses of "typename" that older g++ implementations
    can't cope with.

    gcc/analyzer/ChangeLog:
        PR analyzer/93276
        * analyzer.h (PUSH_IGNORE_WFORMAT, POP_IGNORE_WFORMAT): Guard these
        macros with GCC_VERSION >= 4006, making them no-op otherwise.
        * engine.cc (exploded_edge::exploded_edge): Specify template for
        base class initializer.
        (exploded_graph::add_edge): Specify template when chaining up to
        base class add_edge implementation.
        (viz_callgraph_node::dump_dot): Drop redundant "typename".
        (viz_callgraph_edge::viz_callgraph_edge): Specify template for
        base class initializer.
        * program-state.cc (sm_state_map::clone_with_remapping): Drop
        redundant "typename".
        (sm_state_map::print): Likewise.
        (sm_state_map::hash): Likewise.
        (sm_state_map::operator==): Likewise.
        (sm_state_map::remap_svalue_ids): Likewise.
        (sm_state_map::on_svalue_purge): Likewise.
        (sm_state_map::validate): Likewise.
        * program-state.h (sm_state_map::iterator_t): Likewise.
        * supergraph.h (superedge::superedge): Specify template for base
        class initializer.

    gcc/ChangeLog:
        PR analyzer/93276
        * digraph.cc (test_edge::test_edge): Specify template for base
        class initializer.

Reply via email to