]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/analyzer/varargs.cc
analyzer: cleanups [PR112655]
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 14 Dec 2023 14:10:10 +0000 (09:10 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 14 Dec 2023 14:10:10 +0000 (09:10 -0500)
commit8cf5afba5dc482fe7063654720bfb0c45354998c
treed04c3f9b837f31666358110e2576875f1bd4472c
parent2f46e3578d45ff060a0a329cb39d4f52878f9d5a
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>
gcc/analyzer/infinite-loop.cc
gcc/analyzer/sm-file.cc
gcc/analyzer/sm-sensitive.cc
gcc/analyzer/sm-signal.cc
gcc/analyzer/sm-taint.cc
gcc/analyzer/varargs.cc