systemc: Add a mechanism for pre-registering message type ids.

These ids are the ones the Accellera implementation/tests use. Some of
the tests expect them to be available and usable.

Change-Id: I4e4dc3470c28d4113330a44ccd06ffe7724e75b1
Reviewed-on: https://gem5-review.googlesource.com/c/13322
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-10-07 00:34:35 -07:00
parent 7911f271e8
commit 208704b23a
2 changed files with 15 additions and 0 deletions

View File

@@ -63,4 +63,11 @@ std::unique_ptr<sc_core::sc_report> globalReportCache;
bool reportWarningsAsErrors = false;
DefaultReportMessages::DefaultReportMessages(
std::initializer_list<std::pair<int, const char *>> msgs)
{
for (auto &p: msgs)
sc_core::sc_report::register_id(p.first, p.second);
}
} // namespace sc_gem5

View File

@@ -30,9 +30,11 @@
#ifndef __SYSTEMC_UTILS_REPORT_HH__
#define __SYSTEMC_UTILS_REPORT_HH__
#include <initializer_list>
#include <map>
#include <memory>
#include <string>
#include <utility>
#include "systemc/ext/utils/sc_report.hh"
#include "systemc/ext/utils/sc_report_handler.hh"
@@ -106,6 +108,12 @@ extern std::unique_ptr<sc_core::sc_report> globalReportCache;
extern bool reportWarningsAsErrors;
struct DefaultReportMessages
{
public:
DefaultReportMessages(std::initializer_list<std::pair<int, const char *>>);
};
} // namespace sc_gem5
#endif // __SYSTEMC_UTILS_REPORT_HH__