summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-06-13 18:25:04 -0700
committerGabe Black <gabeblack@google.com>2018-08-15 01:35:25 +0000
commitd8a149bb7dc2446a8d45d4ec4095f8f9bf3df7d3 (patch)
treefe5f8d09c3eb55d75d0c6cb4f6195c1748eb26bf
parent03a95d262c094668b5882eb545ef1265a87d73a6 (diff)
downloadgem5-d8a149bb7dc2446a8d45d4ec4095f8f9bf3df7d3.tar.xz
systemc: Turn some macros into enums to fix regression test building.
The spec defines these constants to be macros, but the regression test refers to them using the sc_core namespace. That breaks things because the macros don't expand to an identifier, they expand to an expression. This change converts the macros into enums like in the Accellera implementation to get the regression tests to build. Change-Id: I3db7dc87a7a597907df658624a7343bc6ca1734e Reviewed-on: https://gem5-review.googlesource.com/11180 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r--src/systemc/ext/utils/sc_report_handler.hh20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/systemc/ext/utils/sc_report_handler.hh b/src/systemc/ext/utils/sc_report_handler.hh
index 7347e5f4a..d0eea77df 100644
--- a/src/systemc/ext/utils/sc_report_handler.hh
+++ b/src/systemc/ext/utils/sc_report_handler.hh
@@ -47,19 +47,17 @@ enum
SC_CACHE_REPORT = 0x0010,
SC_INTERRUPT = 0x0020,
SC_STOP = 0x0040,
- SC_ABORT = 0x0080
+ SC_ABORT = 0x0080,
+
+ // The spec says these should be macros, but that breaks the build for the
+ // regression tests since they refer to, for instance,
+ // sc_core::SC_DEFAULT_INFO_ACTIONS.
+ SC_DEFAULT_INFO_ACTIONS = SC_LOG | SC_DISPLAY,
+ SC_DEFAULT_WARNING_ACTIONS = SC_LOG | SC_DISPLAY,
+ SC_DEFAULT_ERROR_ACTIONS = SC_LOG | SC_CACHE_REPORT | SC_THROW,
+ SC_DEFAULT_FATAL_ACTIONS = SC_LOG | SC_DISPLAY | SC_CACHE_REPORT | SC_ABORT
};
-#define SC_DEFAULT_INFO_ACTIONS \
- (::sc_core::SC_LOG | ::sc_core::SC_DISPLAY)
-#define SC_DEFAULT_WARNING_ACTIONS \
- (::sc_core::SC_LOG | ::sc_core::SC_DISPLAY)
-#define SC_DEFAULT_ERROR_ACTIONS \
- (::sc_core::SC_LOG | ::sc_core::SC_CACHE_REPORT | ::sc_core::SC_THROW)
-#define SC_DEFAULT_FATAL_ACTIONS \
- (::sc_core::SC_LOG | ::sc_core::SC_DISPLAY | \
- ::sc_core::SC_CACHE_REPORT | ::sc_core::SC_ABORT)
-
typedef void (*sc_report_handler_proc)(const sc_report &, const sc_actions &);
class sc_report_handler