From 45abd002b6072469faf98008304c33961d1d9e6b Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 2 Nov 2018 15:30:41 -0700 Subject: systemc: Change how SC_BIND_PROXY_NIL is initialized. The previous implementation dereferenced a null pointer to create a reference which would then have its address taken in the sc_bind_proxy constructor. clang says that that uses undefined behavior, so this change adds a default constructor which initializes the two contained pointers to null explicitly. We have to hope systemc code doesn't play around with sc_bind_proxy too much and doesn't accidentally use this constructor unintentionally, but it seems like the least bad possible solution which makes clang happy. Change-Id: Ic59603495fe7a406586a18ce44de979f84089bcd Reviewed-on: https://gem5-review.googlesource.com/c/13879 Reviewed-by: Gabe Black Maintainer: Gabe Black --- src/systemc/ext/core/sc_module.hh | 1 + 1 file changed, 1 insertion(+) (limited to 'src/systemc/ext/core/sc_module.hh') diff --git a/src/systemc/ext/core/sc_module.hh b/src/systemc/ext/core/sc_module.hh index dea728fba..0c8bd9f6c 100644 --- a/src/systemc/ext/core/sc_module.hh +++ b/src/systemc/ext/core/sc_module.hh @@ -82,6 +82,7 @@ class sc_bind_proxy sc_port_base *_port; public: + sc_bind_proxy(); sc_bind_proxy(sc_interface &_interface); sc_bind_proxy(sc_port_base &_port); -- cgit v1.2.3