summaryrefslogtreecommitdiff
path: root/src/systemc/tests/systemc/kernel/sc_elab_and_sim
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-05-24 01:37:55 -0700
committerGabe Black <gabeblack@google.com>2018-08-08 10:09:54 +0000
commit16fa8d7cc8c92f5ab879e4cf9c6c0bbb3567860f (patch)
tree7b6faaacb4574a555e561534aa4a8508c0624c32 /src/systemc/tests/systemc/kernel/sc_elab_and_sim
parent7235d3b5211d0ba8f528d930a4c1e7ad62eec51a (diff)
downloadgem5-16fa8d7cc8c92f5ab879e4cf9c6c0bbb3567860f.tar.xz
systemc: Import tests from the Accellera systemc distribution.
Change-Id: Iad76b398949a55d768a34d027a2d8e3739953da6 Reviewed-on: https://gem5-review.googlesource.com/10845 Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/tests/systemc/kernel/sc_elab_and_sim')
-rw-r--r--src/systemc/tests/systemc/kernel/sc_elab_and_sim/golden/sc_elab_and_sim.log2
-rw-r--r--src/systemc/tests/systemc/kernel/sc_elab_and_sim/sc_elab_and_sim.cpp30
2 files changed, 32 insertions, 0 deletions
diff --git a/src/systemc/tests/systemc/kernel/sc_elab_and_sim/golden/sc_elab_and_sim.log b/src/systemc/tests/systemc/kernel/sc_elab_and_sim/golden/sc_elab_and_sim.log
new file mode 100644
index 000000000..0d934d401
--- /dev/null
+++ b/src/systemc/tests/systemc/kernel/sc_elab_and_sim/golden/sc_elab_and_sim.log
@@ -0,0 +1,2 @@
+SystemC Simulation
+Program completed
diff --git a/src/systemc/tests/systemc/kernel/sc_elab_and_sim/sc_elab_and_sim.cpp b/src/systemc/tests/systemc/kernel/sc_elab_and_sim/sc_elab_and_sim.cpp
new file mode 100644
index 000000000..e5cd39efe
--- /dev/null
+++ b/src/systemc/tests/systemc/kernel/sc_elab_and_sim/sc_elab_and_sim.cpp
@@ -0,0 +1,30 @@
+#include "systemc.h"
+
+
+int main()
+{
+ char* argv[] = { "0", "1", "2", "3", "4" };
+ return sc_elab_and_sim( sizeof(argv)/sizeof(char*), argv );
+}
+
+int sc_main(int argc, char* argv[])
+{
+ if ( argc != sc_argc() )
+ {
+ cout << "sc_argc mismatch: expected " << argc << " got " << sc_argc()
+ << endl;
+ }
+ for ( int argi = 0; argi < argc; argi++ )
+ {
+ if ( strcmp( argv[argi], sc_argv()[argi] ) )
+ {
+ cout << "sc_argv()[" << argi << "] mismatch: expected: '"
+ << argv[argi] << "' got: '" << sc_argv()[argi] << "'" << endl;
+ }
+ }
+
+ cerr << "Program completed" << endl;
+
+ return 0;
+}
+