Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/12966

Change subject: systemc: Add an error check to sc_time.
......................................................................

systemc: Add an error check to sc_time.

Change-Id: Ie525a1624a6496a51277fb984cbfeec21eb79749
---
M src/systemc/core/sc_time.cc
A src/systemc/tests/systemc/kernel/sc_time/test16/expected_returncode
2 files changed, 9 insertions(+), 0 deletions(-)



diff --git a/src/systemc/core/sc_time.cc b/src/systemc/core/sc_time.cc
index 999fba2..0b8ad62 100644
--- a/src/systemc/core/sc_time.cc
+++ b/src/systemc/core/sc_time.cc
@@ -494,6 +494,14 @@
     // Normalize d to seconds.
     defaultUnit = d * TimeUnitScale[tu];
     specified = true;
+
+    double resolution = SimClock::Float::Hz;
+    if (resolution == 0.0)
+        resolution = TimeUnitScale[SC_PS];
+    if (defaultUnit < resolution) {
+        SC_REPORT_ERROR("(E515) set default time unit failed",
+                "value smaller than time resolution");
+    }
 }

 sc_time
diff --git a/src/systemc/tests/systemc/kernel/sc_time/test16/expected_returncode b/src/systemc/tests/systemc/kernel/sc_time/test16/expected_returncode
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/src/systemc/tests/systemc/kernel/sc_time/test16/expected_returncode
@@ -0,0 +1 @@
+1

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/12966
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: Ie525a1624a6496a51277fb984cbfeec21eb79749
Gerrit-Change-Number: 12966
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