From 296402abdfac1bcab998cb8613d14e65e671ddda Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 6 Nov 2018 22:54:45 -0800 Subject: [PATCH] systemc: Stop using python init to set up predefined message ids. We can now be sure register_id will work even mid static initializers, so we don't have to use python initialization as a hook to install these predefined message ids. Change-Id: I2e4d0c678ddda0a9ce5b114bdf1710f36e955f23 Reviewed-on: https://gem5-review.googlesource.com/c/13976 Maintainer: Gabe Black Reviewed-by: Jason Lowe-Power --- src/systemc/utils/report.cc | 37 ++----------------------------------- src/systemc/utils/report.hh | 9 --------- 2 files changed, 2 insertions(+), 44 deletions(-) diff --git a/src/systemc/utils/report.cc b/src/systemc/utils/report.cc index 4a4521582..823558426 100644 --- a/src/systemc/utils/report.cc +++ b/src/systemc/utils/report.cc @@ -29,8 +29,6 @@ #include "systemc/utils/report.hh" -#include "systemc/core/python.hh" - namespace sc_gem5 { @@ -76,42 +74,11 @@ std::unique_ptr globalReportCache; bool reportWarningsAsErrors = false; -DefaultReportMessages *& -DefaultReportMessages::top() -{ - static DefaultReportMessages *top_ptr = nullptr; - return top_ptr; -} - -void -DefaultReportMessages::install() +DefaultReportMessages::DefaultReportMessages( + std::initializer_list> msgs) { for (auto &p: msgs) sc_core::sc_report::register_id(p.first, p.second); } -DefaultReportMessages::DefaultReportMessages( - std::initializer_list> msgs) : - next(top()), msgs(msgs) -{ - top() = this; -} - -void -DefaultReportMessages::installAll() -{ - for (DefaultReportMessages *ptr = top(); ptr; ptr = ptr->next) - ptr->install(); -} - -namespace -{ - -struct InstallDefaultReportMessages : public PythonReadyFunc -{ - void run() override { DefaultReportMessages::installAll(); } -} messageInstaller; - -} // anonymous namespace - } // namespace sc_gem5 diff --git a/src/systemc/utils/report.hh b/src/systemc/utils/report.hh index 70716cb91..ab94b1cc4 100644 --- a/src/systemc/utils/report.hh +++ b/src/systemc/utils/report.hh @@ -111,17 +111,8 @@ extern bool reportWarningsAsErrors; struct DefaultReportMessages { - protected: - static DefaultReportMessages *&top(); - DefaultReportMessages *next; - - std::initializer_list> msgs; - void install(); - public: DefaultReportMessages(std::initializer_list>); - - static void installAll(); }; } // namespace sc_gem5 -- 2.30.2