trev Posted November 27, 2018 Report Share Posted November 27, 2018 Hello, compiling systemc-ams-2.1 with clang version 7.0.0 using systemc-2.3.3 yields the following error : make[5]: Entering directory '/home/tools/src/sysc/build/src/scams/impl/core' CXX sca_globals.lo CXX sca_interface.lo CXX sca_implementation_info.lo CXX sca_max_time.lo CXX sca_module.lo In file included from ../../../../../systemc-ams-2.1/src/scams/impl/core/sca_module.cpp:40: In file included from ../../../../../systemc-ams-2.1/src/systemc-ams:180: ../../../../../systemc-ams-2.1/src/scams/predefined_moc/tdf/sca_tdf_sc_out.h:549:27: error: 'pobj' is a private member of 'sca_tdf::sca_implementation::sca_port_attributes' str << "for port: " << pobj->sca_name(); ^ ../../../../../systemc-ams-2.1/src/scams/impl/predefined_moc/tdf/sca_tdf_port_attributes.h:154:47: note: declared private here sca_core::sca_implementation::sca_port_base* pobj; ^ 1 error generated. make[5]: *** [Makefile:496: sca_module.lo] Error 1 make[5]: Leaving directory '/home/tools/src/sysc/build/src/scams/impl/core' make[4]: *** [Makefile:400: all-recursive] Error 1 make[4]: Leaving directory '/home/tools/src/sysc/build/src/scams/impl' make[3]: *** [Makefile:597: all-recursive] Error 1 make[3]: Leaving directory '/home/tools/src/sysc/build/src/scams' make[2]: *** [Makefile:423: all-recursive] Error 1 make[2]: Leaving directory '/home/tools/src/sysc/build/src' make[1]: *** [Makefile:361: all] Error 2 make[1]: Leaving directory '/home/tools/src/sysc/build/src' make: *** [Makefile:430: all-recursive] Error 1 moving sca_core::sca_implementation::sca_port_base* pobj; in the file systemc-ams-2.1/src/scams/impl/predefined_moc/tdf/sca_tdf_port_attributes.h from private to protected fixes the issue. Any ideas ? Is this a compiler issue ? Not really that confident about changing from private to protected. (I tried gcc just as a sanity check and it doesn't give this error or warning). apart from that, the fix for memcpy() and memset() and a few warnings about warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] it compiles fine. Thanks in advance and thanks for the code ! Best Regards Trevor Quote Link to comment Share on other sites More sharing options...
maehne Posted November 29, 2018 Report Share Posted November 29, 2018 Thanks for reporting these compilation issues! These will need to get addressed by the COSEDA Technologies GmbH with a new SystemC AMS release. In the meantime, you can fix the compilation issue by replacing: pobj->sca_name() with this->name() The calls to memcpy() and memset() need to get prefixed with the std:: namespace prefix. The "register" storage class specifiers can be safely removed. If I see it correctly, they are only remaining in file scams/impl/analysis/ac/sca_ac_domain_entity.cpp. Quote Link to comment Share on other sites More sharing options...
maehne Posted November 29, 2018 Report Share Posted November 29, 2018 I have forwarded your issue to @karsten from COSEDA Technologies, as he is the principal author of the SystemC AMS PoC implementation. Quote Link to comment Share on other sites More sharing options...
sumit_tuwien Posted December 16, 2018 Report Share Posted December 16, 2018 Hello, Please use -fdelayed-template-parsing to bypass this bug for the time being. Regards, Sumit Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.