diff options
author | Gabe Black <gabeblack@google.com> | 2018-05-18 02:12:34 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-08-08 10:07:26 +0000 |
commit | 7adb1b250b712920ea5d685f146ad6df55346393 (patch) | |
tree | c431de9f29f2c7d1dc5a6e581cfcf7031bb26a49 /src/systemc/utils | |
parent | 4b2e28307d0a1c2b31e403e8e394261eb363a7a9 (diff) | |
download | gem5-7adb1b250b712920ea5d685f146ad6df55346393.tar.xz |
systemc: Stub out all the standard utilility classes and functions.
Change-Id: I9e9724edb6281e0b0a6bae5546b0ede77d295c12
Reviewed-on: https://gem5-review.googlesource.com/10841
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/utils')
-rw-r--r-- | src/systemc/utils/SConscript | 36 | ||||
-rw-r--r-- | src/systemc/utils/functions.cc | 53 | ||||
-rw-r--r-- | src/systemc/utils/sc_report.cc | 119 | ||||
-rw-r--r-- | src/systemc/utils/sc_report_handler.cc | 215 | ||||
-rw-r--r-- | src/systemc/utils/sc_trace_file.cc | 325 | ||||
-rw-r--r-- | src/systemc/utils/sc_vector.cc | 49 | ||||
-rw-r--r-- | src/systemc/utils/warn_unimpl.cc | 42 |
7 files changed, 839 insertions, 0 deletions
diff --git a/src/systemc/utils/SConscript b/src/systemc/utils/SConscript new file mode 100644 index 000000000..f925293ac --- /dev/null +++ b/src/systemc/utils/SConscript @@ -0,0 +1,36 @@ +# Copyright 2018 Google, Inc. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Authors: Gabe Black + +Import('*') + +if env['USE_SYSTEMC']: + Source('functions.cc') + Source('sc_report.cc') + Source('sc_report_handler.cc') + Source('sc_trace_file.cc') + Source('sc_vector.cc') + Source('warn_unimpl.cc') diff --git a/src/systemc/utils/functions.cc b/src/systemc/utils/functions.cc new file mode 100644 index 000000000..dca7e20ce --- /dev/null +++ b/src/systemc/utils/functions.cc @@ -0,0 +1,53 @@ +/* + * Copyright 2018 Google, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Gabe Black + */ + +#include "systemc/ext/utils/functions.hh" + +namespace sc_core +{ + +const unsigned int sc_version_major = SC_VERSION_MAJOR; +const unsigned int sc_version_minor = SC_VERSION_MINOR; +const unsigned int sc_version_patch = SC_VERSION_PATCH; +const std::string sc_version_originator = SC_VERSION_ORIGINATOR; +const std::string sc_version_release_date = SC_VERSION_RELEASE_DATE; +const std::string sc_version_prerelease = SC_VERSION_PRERELEASE; +const bool sc_is_prerelease = SC_IS_PRERELEASE; +const std::string sc_version_string = SC_VERSION; +const std::string sc_copyright_string = SC_COPYRIGHT; + +const char * +sc_version() +{ + static const char systemc_version[] = + "SystemC " SC_VERSION " --- " __DATE__ " " __TIME__; + return systemc_version; +} + +} // namespace sc_core diff --git a/src/systemc/utils/sc_report.cc b/src/systemc/utils/sc_report.cc new file mode 100644 index 000000000..0e6b8b0bd --- /dev/null +++ b/src/systemc/utils/sc_report.cc @@ -0,0 +1,119 @@ +/* + * Copyright 2018 Google, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Gabe Black + */ + +#include "base/logging.hh" +#include "systemc/ext/utils/sc_report.hh" + +namespace sc_core +{ + +sc_report::sc_report(const sc_report &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +sc_report & +sc_report::operator = (const sc_report &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return *this; +} + +sc_report::~sc_report() throw() {} + +sc_severity +sc_report::get_severity() const +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_FATAL; +} + +const char * +sc_report::get_msg_type() const +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return ""; +} + +const char * +sc_report::get_msg() const +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return ""; +} + +int +sc_report::get_verbosity() const +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_NONE; +} + +const char * +sc_report::get_file_name() const +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return ""; +} + +int +sc_report::get_line_number() const +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + +const sc_time & +sc_report::get_time() const +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return *(const sc_time *)nullptr; +} + +const char * +sc_report::get_process_name() const +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return ""; +} + +const char * +sc_report::what() const throw() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return ""; +} + +void +sc_abort() +{ + panic("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +} // namespace sc_core diff --git a/src/systemc/utils/sc_report_handler.cc b/src/systemc/utils/sc_report_handler.cc new file mode 100644 index 000000000..3bb905044 --- /dev/null +++ b/src/systemc/utils/sc_report_handler.cc @@ -0,0 +1,215 @@ +/* + * Copyright 2018 Google, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Gabe Black + */ + +#include "base/logging.hh" +#include "systemc/ext/utils/sc_report_handler.hh" + +namespace sc_core +{ + +void +sc_report_handler::report(sc_severity, const char *msg_type, const char *msg, + const char *file, int line) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_report_handler::report(sc_severity, const char *msg_type, const char *msg, + int verbosity, const char *file, int line) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +sc_actions +sc_report_handler::set_actions(sc_severity, sc_actions) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_UNSPECIFIED; +} + +sc_actions +sc_report_handler::set_actions(const char *msg_type, sc_actions) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_UNSPECIFIED; +} + +sc_actions +sc_report_handler::set_actions(const char *msg_type, sc_severity, sc_actions) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_UNSPECIFIED; +} + +int +sc_report_handler::stop_after(sc_severity, int limit) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + +int +sc_report_handler::stop_after(const char *msg_type, int limit) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + +int +sc_report_handler::stop_after(const char *msg_type, sc_severity, sc_actions) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + +int +sc_report_handler::get_count(sc_severity) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + +int +sc_report_handler::get_count(const char *msg_type) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + +int +sc_report_handler::get_count(const char *msg_type, sc_severity) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + +int +sc_report_handler::set_verbosity_level(int) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + +int +sc_report_handler::get_verbosity_level() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return 0; +} + + +sc_actions +sc_report_handler::suppress(sc_actions) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_UNSPECIFIED; +} + +sc_actions +sc_report_handler::suppress() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_UNSPECIFIED; +} + +sc_actions +sc_report_handler::force(sc_actions) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_UNSPECIFIED; +} + +sc_actions +sc_report_handler::force() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_UNSPECIFIED; +} + + +void +sc_report_handler::set_handler(sc_report_handler_proc) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_report_handler::default_handler(const sc_report &, const sc_actions &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +sc_actions +sc_report_handler::get_new_action_id() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return SC_UNSPECIFIED; +} + +sc_report * +sc_report_handler::get_cached_report() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return nullptr; +} + +void +sc_report_handler::clear_cached_report() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +bool +sc_report_handler::set_log_file_name(const char *) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return false; +} + +const char * +sc_report_handler::get_log_file_name() +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return nullptr; +} + +void +sc_interrupt_here(const char *msg_type, sc_severity) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_stop_here(const char *msg_type, sc_severity) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +} // namespace sc_core diff --git a/src/systemc/utils/sc_trace_file.cc b/src/systemc/utils/sc_trace_file.cc new file mode 100644 index 000000000..3b09d951d --- /dev/null +++ b/src/systemc/utils/sc_trace_file.cc @@ -0,0 +1,325 @@ +/* + * Copyright 2018 Google, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Gabe Black + */ + +#include "base/logging.hh" +#include "systemc/ext/utils/sc_trace_file.hh" + +namespace sc_core +{ + +sc_trace_file * +sc_create_vcd_trace_file(const char *name) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); + return nullptr; +} + +void +sc_close_vcd_trace_file(sc_trace_file *tf) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_write_comment(sc_trace_file *tf, const std::string &comment) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const bool &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const bool *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const float &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const float *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const double &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const double *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_logic &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_logic *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_int_base &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_int_base *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_uint_base &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_uint_base *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_signed &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_signed *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_unsigned &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_unsigned *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_bv_base &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_bv_base *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_lv_base &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_lv_base *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_fxval &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_fxval *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_fxval_fast &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_fxval_fast *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_fxnum &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_fxnum *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_fxnum_fast &, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::sc_fxnum_fast *, const std::string &) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const char &, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const char *, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const short &, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const short *, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const int &, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const int *, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const long &, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const long *, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::int64 &, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::int64 *, const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::uint64 &, + const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_dt::uint64 *, + const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_signal_in_if<char> &, + const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_signal_in_if<short> &, + const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_signal_in_if<int> &, + const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +void +sc_trace(sc_trace_file *, const sc_signal_in_if<long> &, + const std::string &, int width) +{ + warn("%s not implemented.\n", __PRETTY_FUNCTION__); +} + +} // namespace sc_core diff --git a/src/systemc/utils/sc_vector.cc b/src/systemc/utils/sc_vector.cc new file mode 100644 index 000000000..ed59b734f --- /dev/null +++ b/src/systemc/utils/sc_vector.cc @@ -0,0 +1,49 @@ +/* + * Copyright 2018 Google, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Gabe Black + */ + +#include "systemc/ext/utils/sc_vector.hh" + +namespace sc_core +{ + +sc_vector_base::size_type +sc_vector_base::size() const +{ + sc_utils_warn_unimpl(__PRETTY_FUNCTION__); + return 0; +} + +const std::vector<sc_object *> & +sc_vector_base::get_elements() const +{ + sc_utils_warn_unimpl(__PRETTY_FUNCTION__); + return *(const std::vector<sc_object *> *)nullptr; +} + +} // namespace sc_core diff --git a/src/systemc/utils/warn_unimpl.cc b/src/systemc/utils/warn_unimpl.cc new file mode 100644 index 000000000..f96e60487 --- /dev/null +++ b/src/systemc/utils/warn_unimpl.cc @@ -0,0 +1,42 @@ +/* + * Copyright 2018 Google, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer; + * redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution; + * neither the name of the copyright holders nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Gabe Black + */ + +#include "base/logging.hh" +#include "systemc/ext/utils/warn_unimpl.hh" + +namespace sc_core +{ + +void +sc_utils_warn_unimpl(const char *func) +{ + warn("%s not implemented.\n", func); +} + +} // namespace sc_core |