Gabe Black has uploaded this change for review. ( 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
---
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(-)



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: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to