systemc: Change how SC_BIND_PROXY_NIL is initialized.
authorGabe Black <gabeblack@google.com>
Fri, 2 Nov 2018 22:30:41 +0000 (15:30 -0700)
committerGabe Black <gabeblack@google.com>
Mon, 5 Nov 2018 23:09:01 +0000 (23:09 +0000)
commit45abd002b6072469faf98008304c33961d1d9e6b
treed43046e3522933cd7e1aa0005d5864c14541628d
parent28ab6ff6878dbaeec2c0a4dd1f6eaf2a244cd74e
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 <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
src/systemc/core/sc_module.cc
src/systemc/ext/core/sc_module.hh