From 26d949c8c7a757df891ce79162b9bf15087418c6 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Fri, 24 Jan 2020 21:31:21 +0000 Subject: 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. --- gcc/digraph.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/digraph.cc') diff --git a/gcc/digraph.cc b/gcc/digraph.cc index 02ff93d..31b3e19 100644 --- a/gcc/digraph.cc +++ b/gcc/digraph.cc @@ -62,7 +62,7 @@ struct test_node : public dnode struct test_edge : public dedge { test_edge (node_t *src, node_t *dest) - : dedge (src, dest) + : dedge (src, dest) {} void dump_dot (graphviz_out *gv, const dump_args_t &) const OVERRIDE -- cgit v1.1