diff options
author | David Malcolm <dmalcolm@redhat.com> | 2022-11-03 13:47:01 -0400 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2022-11-03 13:47:01 -0400 |
commit | ca5ff10546e612eff3d5e225b62b44ddf656cfbf (patch) | |
tree | 6b555bcf2bfacdc0c38eeea91a1e442d9fbd64e7 /gcc/analyzer/exploded-graph.h | |
parent | 2a9b395b1e4542c79b250b756346816a9b72d859 (diff) | |
download | gcc-ca5ff10546e612eff3d5e225b62b44ddf656cfbf.zip gcc-ca5ff10546e612eff3d5e225b62b44ddf656cfbf.tar.gz gcc-ca5ff10546e612eff3d5e225b62b44ddf656cfbf.tar.bz2 |
analyzer: use std::unique_ptr for custom_edge_info pointers
gcc/analyzer/ChangeLog:
* checker-path.cc (rewind_event::rewind_event): Update for usage of
std::unique_ptr on custom_edge_info.
* engine.cc (exploded_node::on_longjmp): Likewise.
(exploded_edge::exploded_edge): Likewise.
(exploded_edge::~exploded_edge): Delete.
(exploded_graph::add_function_entry): Update for usage of
std::unique_ptr on custom_edge_info.
(exploded_graph::add_edge): Likewise.
(add_tainted_args_callback): Likewise.
(exploded_graph::maybe_create_dynamic_call): Likewise.
(exploded_graph::process_node): Likewise.
* exploded-graph.h (exploded_edge::~exploded_edge): Delete.
(exploded_edge::m_custom_info): Use std::unique_ptr.
(exploded_edge::add_edge): Likewise.
* sm-signal.cc (register_signal_handler::impl_transition): Use
make_unique.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc/analyzer/exploded-graph.h')
-rw-r--r-- | gcc/analyzer/exploded-graph.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/analyzer/exploded-graph.h b/gcc/analyzer/exploded-graph.h index 7947f50..27e6881 100644 --- a/gcc/analyzer/exploded-graph.h +++ b/gcc/analyzer/exploded-graph.h @@ -367,8 +367,7 @@ class exploded_edge : public dedge<eg_traits> public: exploded_edge (exploded_node *src, exploded_node *dest, const superedge *sedge, - custom_edge_info *custom_info); - ~exploded_edge (); + std::unique_ptr<custom_edge_info> custom_info); void dump_dot (graphviz_out *gv, const dump_args_t &args) const final override; void dump_dot_label (pretty_printer *pp) const; @@ -380,10 +379,8 @@ class exploded_edge : public dedge<eg_traits> /* NULL for most edges; will be non-NULL for special cases such as an unwind from a longjmp to a setjmp, or when - a signal is delivered to a signal-handler. - - Owned by this class. */ - custom_edge_info *m_custom_info; + a signal is delivered to a signal-handler. */ + std::unique_ptr<custom_edge_info> m_custom_info; private: DISABLE_COPY_AND_ASSIGN (exploded_edge); @@ -801,7 +798,7 @@ public: exploded_node *enode_for_diag); exploded_edge *add_edge (exploded_node *src, exploded_node *dest, const superedge *sedge, - custom_edge_info *custom = NULL); + std::unique_ptr<custom_edge_info> custom = NULL); per_program_point_data * get_or_create_per_program_point_data (const program_point &); |