From: Gabe Black Date: Thu, 30 Aug 2018 21:51:25 +0000 (-0700) Subject: systemc: Adjust some error messages to match Accellera. X-Git-Tag: v19.0.0.0~1681 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fc01f3743ffb130e300842ecdd85659cb57ecafb;p=gem5.git 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 Maintainer: Gabe Black --- diff --git a/src/systemc/dt/bit/sc_lv_base.cc b/src/systemc/dt/bit/sc_lv_base.cc index 9ffa50597..8ffdbe23d 100644 --- a/src/systemc/dt/bit/sc_lv_base.cc +++ b/src/systemc/dt/bit/sc_lv_base.cc @@ -67,7 +67,7 @@ sc_proxy_out_of_bounds(const char *msg, int64 val) 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 d5b005b93..6094086d8 100644 --- a/src/systemc/dt/int/sc_int_base.cc +++ b/src/systemc/dt/int/sc_int_base.cc @@ -92,7 +92,7 @@ sc_int_concref_invalid_length(int length) std::stringstream msg; msg << "sc_int_concref 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 @@ sc_int_base::invalid_length() const 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 @@ sc_int_base::invalid_index(int i) const 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 @@ sc_int_base::invalid_range(int l, int r) const 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 @@ sc_int_base::check_value() const 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 63a2d0330..1cb71123b 100644 --- a/src/systemc/dt/int/sc_signed.cc +++ b/src/systemc/dt/int/sc_signed.cc @@ -123,7 +123,7 @@ sc_signed::invalid_index(int i) const 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 @@ sc_signed::invalid_range(int l, int r) const 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 58e4605c3..9d28f778c 100644 --- a/src/systemc/dt/int/sc_uint_base.cc +++ b/src/systemc/dt/int/sc_uint_base.cc @@ -91,7 +91,7 @@ sc_uint_concref_invalid_length(int length) std::stringstream msg; msg << "sc_uint_concref 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 @@ sc_uint_base::invalid_length() const 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 @@ sc_uint_base::invalid_index(int i) const 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 @@ sc_uint_base::invalid_range(int l, int r) const 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 @@ sc_uint_base::check_value() const 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 d2535b6b1..aca49bac6 100644 --- a/src/systemc/dt/int/sc_unsigned.cc +++ b/src/systemc/dt/int/sc_unsigned.cc @@ -131,7 +131,7 @@ sc_unsigned::invalid_index(int i) const 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 @@ sc_unsigned::invalid_range(int l, int r) const 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 0eec8aac0..da57f04ac 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 @@ sc_bitref_r::get_bit(int n) const 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 @@ sc_bitref_r::get_word(int n) const 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 @@ sc_bitref_r::get_cword(int n) const 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 @@ sc_bitref::set_bit(int n, value_type value) 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 @@ sc_bitref::set_word(int n, sc_digit w) 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 @@ sc_bitref::set_cword(int n, sc_digit w) 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 @@ sc_subref_r::check_bounds() { 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 @@ sc_concref_r::get_bit(int n) const } 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 @@ sc_concref_r::set_bit(int n, value_type v) } 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 @@ inline sc_digit sc_concref_r::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 @@ inline void sc_concref_r::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 @@ inline sc_digit sc_concref_r::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 @@ inline void sc_concref_r::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;