diff options
author | David Malcolm <dmalcolm@redhat.com> | 2023-12-14 09:10:10 -0500 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2023-12-14 09:10:10 -0500 |
commit | 8cf5afba5dc482fe7063654720bfb0c45354998c (patch) | |
tree | d04c3f9b837f31666358110e2576875f1bd4472c /gcc/analyzer/infinite-loop.cc | |
parent | 2f46e3578d45ff060a0a329cb39d4f52878f9d5a (diff) | |
download | gcc-8cf5afba5dc482fe7063654720bfb0c45354998c.zip gcc-8cf5afba5dc482fe7063654720bfb0c45354998c.tar.gz gcc-8cf5afba5dc482fe7063654720bfb0c45354998c.tar.bz2 |
analyzer: cleanups [PR112655]
Avoid copying eedges in infinite_loop::infinite_loop.
Use initializer lists in the various places reported in
PR analyzer/112655 (apart from coord_test's ctor, which
would require nontrivial refactoring).
gcc/analyzer/ChangeLog:
PR analyzer/112655
* infinite-loop.cc (infinite_loop::infinite_loop): Pass eedges
via rvalue reference rather than by value.
(starts_infinite_loop_p): Move eedges when constructing an
infinite_loop instance.
* sm-file.cc (fileptr_state_machine::fileptr_state_machine): Use
initializer list for states.
* sm-sensitive.cc
(sensitive_state_machine::sensitive_state_machine): Likewise.
* sm-signal.cc (signal_state_machine::signal_state_machine):
Likewise.
* sm-taint.cc (taint_state_machine::taint_state_machine):
Likewise.
* varargs.cc (va_list_state_machine::va_list_state_machine): Likewise.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc/analyzer/infinite-loop.cc')
-rw-r--r-- | gcc/analyzer/infinite-loop.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/analyzer/infinite-loop.cc b/gcc/analyzer/infinite-loop.cc index c47ce1c..fc194d9 100644 --- a/gcc/analyzer/infinite-loop.cc +++ b/gcc/analyzer/infinite-loop.cc @@ -71,7 +71,7 @@ struct infinite_loop { infinite_loop (const exploded_node &enode, location_t loc, - std::vector<const exploded_edge *> eedges, + std::vector<const exploded_edge *> &&eedges, logger *logger) : m_enode (enode), m_loc (loc), @@ -423,9 +423,9 @@ starts_infinite_loop_p (const exploded_node &enode, free (filename); } return ::make_unique<infinite_loop> (enode, - first_loc, - eedges, - logger); + first_loc, + std::move (eedges), + logger); } else { |