]> git.ipfire.org Git - thirdparty/gcc.git/commit
analyzer: port translation_unit_callbacks to pub/sub
authorDavid Malcolm <dmalcolm@redhat.com>
Fri, 9 Jan 2026 20:54:16 +0000 (15:54 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Fri, 9 Jan 2026 20:54:16 +0000 (15:54 -0500)
commitd36257a190dbe94a284f774fbf5c003abf03fc33
treeaffa215a350b348508ce7be5a233beb2e7ddc731
parentf68343c2543ab65d75ef88bd920dfa209c7cbe20
analyzer: port translation_unit_callbacks to pub/sub

Simplification/consolidation of some callback logic in analyzer in
favor of using the analyzer pub/sub channel.

No functional change intended.

gcc/analyzer/ChangeLog:
* analyzer-language.cc: Include "context.h" and "channels.h".
(finish_translation_unit_callbacks): Delete.
(register_finish_translation_unit_callback): Delete.
(run_callbacks): Delete.
(on_finish_translation_unit): Port from run_callbacks to pub/sub.
* analyzer-language.h (finish_translation_unit_callback): Delete
typedef.
(register_finish_translation_unit_callback): Delete decl.
* common.h (class translation_unit): New forward decl.
(struct analyzer_events::on_tu_finished): New.
(analyzer_events::subscriber::on_message): Add vfunc for
on_tu_finished messages.

gcc/testsuite/ChangeLog:
* gcc.dg/plugin/analyzer_cpython_plugin.cc
(cpython_analyzer_events_subscriber::on_message): New.
(plugin_init): Port stashing of named types and global vars to
pub/sub framework.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/analyzer-language.cc
gcc/analyzer/analyzer-language.h
gcc/analyzer/common.h
gcc/testsuite/gcc.dg/plugin/analyzer_cpython_plugin.cc