aboutsummaryrefslogtreecommitdiff
path: root/gcc/analyzer/exploded-graph.h
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2022-11-03 13:47:01 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2022-11-03 13:47:01 -0400
commitca5ff10546e612eff3d5e225b62b44ddf656cfbf (patch)
tree6b555bcf2bfacdc0c38eeea91a1e442d9fbd64e7 /gcc/analyzer/exploded-graph.h
parent2a9b395b1e4542c79b250b756346816a9b72d859 (diff)
downloadgcc-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.h11
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 &);