Gabe Black has submitted this change and it was merged. (
https://gem5-review.googlesource.com/c/public/gem5/+/12450 )
Change subject: systemc: Adjust some error messages to match Accellera.
......................................................................
systemc: Adjust some error messages to match Accellera.
Those messages include an error number in the Accellera implementation.
Add those numbers to gem5 so it's easier to check against golden
reference output for the regression tests.
Change-Id: I35054dd187e86a87eb177f4695d61044c58ce262
Reviewed-on: https://gem5-review.googlesource.com/c/12450
Reviewed-by: Gabe Black <[email protected]>
Maintainer: Gabe Black <[email protected]>
---
M src/systemc/dt/bit/sc_lv_base.cc
M src/systemc/dt/int/sc_int_base.cc
M src/systemc/dt/int/sc_signed.cc
M src/systemc/dt/int/sc_uint_base.cc
M src/systemc/dt/int/sc_unsigned.cc
M src/systemc/ext/dt/bit/sc_bit_proxies.hh
6 files changed, 28 insertions(+), 28 deletions(-)
Approvals:
Gabe Black: Looks good to me, approved; Looks good to me, approved
diff --git a/src/systemc/dt/bit/sc_lv_base.cc
b/src/systemc/dt/bit/sc_lv_base.cc
index 9ffa505..8ffdbe2 100644
--- a/src/systemc/dt/bit/sc_lv_base.cc
+++ b/src/systemc/dt/bit/sc_lv_base.cc
@@ -67,7 +67,7 @@
ss << msg;
if (val != 0)
ss << val;
- SC_REPORT_ERROR("out of bounds", ss.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", ss.str().c_str());
}
//
----------------------------------------------------------------------------
diff --git a/src/systemc/dt/int/sc_int_base.cc
b/src/systemc/dt/int/sc_int_base.cc
index d5b005b..6094086 100644
--- a/src/systemc/dt/int/sc_int_base.cc
+++ b/src/systemc/dt/int/sc_int_base.cc
@@ -92,7 +92,7 @@
std::stringstream msg;
msg << "sc_int_concref<T1,T2> initialization: length = " << length <<
"violates 1 <= length <= " << SC_INTWIDTH;
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -361,7 +361,7 @@
std::stringstream msg;
msg << "sc_int[_base] initialization: length = " << m_len <<
" violates 1 <= length <= " << SC_INTWIDTH;
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -371,7 +371,7 @@
std::stringstream msg;
msg << "sc_int[_base] bit selection: index = " << i <<
" violates 0 <= index <= " << (m_len - 1);
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -382,7 +382,7 @@
msg << "sc_int[_base] part selection: " <<
"left = " << l << ", right = " << r << " violates " <<
(m_len-1) << " >= left >= right >= 0";
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -393,7 +393,7 @@
if (m_val < -limit || m_val >= limit) {
std::stringstream msg;
msg << "sc_int[_base]: value does not fit into a length of " <<
m_len;
- SC_REPORT_WARNING("out of bounds", msg.str().c_str());
+ SC_REPORT_WARNING("(E5) out of bounds", msg.str().c_str());
}
}
diff --git a/src/systemc/dt/int/sc_signed.cc
b/src/systemc/dt/int/sc_signed.cc
index 63a2d03..1cb7112 100644
--- a/src/systemc/dt/int/sc_signed.cc
+++ b/src/systemc/dt/int/sc_signed.cc
@@ -123,7 +123,7 @@
std::stringstream msg;
msg << "sc_bigint bit selection: index = " << i << " violates "
"0 <= index <= " << (nbits - 1);
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -135,7 +135,7 @@
l << ", right = " << r << "\n"
" violates either (" << (nbits-1) << " >= left >= 0) or "
"(" << (nbits-1) << " >= right >= 0)";
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
diff --git a/src/systemc/dt/int/sc_uint_base.cc
b/src/systemc/dt/int/sc_uint_base.cc
index 58e4605..9d28f77 100644
--- a/src/systemc/dt/int/sc_uint_base.cc
+++ b/src/systemc/dt/int/sc_uint_base.cc
@@ -91,7 +91,7 @@
std::stringstream msg;
msg << "sc_uint_concref<T1,T2> initialization: length = " << length <<
"violates 1 <= length <= " << SC_INTWIDTH;
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -347,7 +347,7 @@
std::stringstream msg;
msg << "sc_uint[_base] initialization: length = " << m_len <<
" violates 1 <= length <= " << SC_INTWIDTH;
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here}
}
@@ -357,7 +357,7 @@
std::stringstream msg;
msg << "sc_uint[_base] bit selection: index = " << i <<
" violates 0 <= index <= " << (m_len - 1);
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -368,7 +368,7 @@
msg << "sc_uint[_base] part selection: " <<
"left = " << l << ", right = " << r << " violates " <<
(m_len - 1) << " >= left >= right >= 0";
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -380,7 +380,7 @@
if (m_val > limit) {
std::stringstream msg;
msg << "sc_uint[_base]: value does not fit into a length of " <<
m_len;
- SC_REPORT_WARNING("out of bounds", msg.str().c_str());
+ SC_REPORT_WARNING("(E5) out of bounds", msg.str().c_str());
}
}
diff --git a/src/systemc/dt/int/sc_unsigned.cc
b/src/systemc/dt/int/sc_unsigned.cc
index d2535b6..aca49ba 100644
--- a/src/systemc/dt/int/sc_unsigned.cc
+++ b/src/systemc/dt/int/sc_unsigned.cc
@@ -131,7 +131,7 @@
std::stringstream msg;
msg << "sc_biguint bit selection: index = " << i << " violates "
"0 <= index <= " << (nbits-2);
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
@@ -143,7 +143,7 @@
l << ", right = " << r << "\n"
" violates either (" << (nbits - 2) << " >= left >= 0) or "
"(" << (nbits-2) << " >= right >= 0)";
- SC_REPORT_ERROR("out of bounds", msg.str().c_str());
+ SC_REPORT_ERROR("(E5) out of bounds", msg.str().c_str());
sc_core::sc_abort(); // can't recover from here
}
diff --git a/src/systemc/ext/dt/bit/sc_bit_proxies.hh
b/src/systemc/ext/dt/bit/sc_bit_proxies.hh
index 0eec8aa..da57f04 100644
--- a/src/systemc/ext/dt/bit/sc_bit_proxies.hh
+++ b/src/systemc/ext/dt/bit/sc_bit_proxies.hh
@@ -1735,7 +1735,7 @@
if (n == 0) {
return m_obj.get_bit(m_index);
} else {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
return Log_0;
}
}
@@ -1747,7 +1747,7 @@
if (n == 0) {
return (get_bit(n) & SC_DIGIT_ONE);
} else {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
return 0;
}
}
@@ -1759,7 +1759,7 @@
if (n == 0) {
return ((get_bit(n) & SC_DIGIT_TWO) >> 1);
} else {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
return 0;
}
}
@@ -2068,7 +2068,7 @@
if (n == 0) {
this->m_obj.set_bit(this->m_index, value);
} else {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
}
}
@@ -2084,7 +2084,7 @@
temp = (temp & ~(1 << bi)) | ((w & 1) << bi);
this->m_obj.set_word(wi, temp);
} else {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
}
}
@@ -2100,7 +2100,7 @@
temp = (temp & ~(1 << bi)) | ((w & 1) << bi);
this->m_obj.set_cword(wi, temp);
} else {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
}
}
@@ -2199,7 +2199,7 @@
{
int len = m_obj.length();
if (m_hi < 0 || m_hi >= len || m_lo < 0 || m_lo >= len) {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
sc_core::sc_abort(); // can't recover from here
}
if (reversed()) {
@@ -2668,7 +2668,7 @@
} else if (n < r_len + m_left.length()) {
return value_type(m_left.get_bit(n - r_len));
} else {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
return Log_0;
}
}
@@ -2683,7 +2683,7 @@
} else if (n < r_len + m_left.length()) {
m_left.set_bit(n - r_len, typename X::value_type(v));
} else {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
}
}
@@ -2692,7 +2692,7 @@
sc_concref_r<X, Y>::get_word(int i) const
{
if (i < 0 || i >= size()) {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
}
// 0 <= i < size()
Y &r = m_right;
@@ -2726,7 +2726,7 @@
sc_concref_r<X, Y>::set_word(int i, sc_digit w)
{
if (i < 0 || i >= size()) {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
}
// 0 <= i < size()
Y &r = m_right;
@@ -2765,7 +2765,7 @@
sc_concref_r<X, Y>::get_cword(int i) const
{
if (i < 0 || i >= size()) {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
}
// 0 <= i < size()
Y &r = m_right;
@@ -2799,7 +2799,7 @@
sc_concref_r<X, Y>::set_cword(int i, sc_digit w)
{
if (i < 0 || i >= size()) {
- SC_REPORT_ERROR("out of bounds", 0);
+ SC_REPORT_ERROR("(E5) out of bounds", 0);
}
// 0 <= i < size()
Y &r = m_right;
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/12450
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I35054dd187e86a87eb177f4695d61044c58ce262
Gerrit-Change-Number: 12450
Gerrit-PatchSet: 7
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Matthias Jung <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev