The systemc spec says that sc_bind, sc_ref and sc_cref macros should
expand to boost::bind, boost::ref, and boost::cref respectively, but
that it's "use is not mandantory". Unfortunately, the regression tests
use those macros without actually including the boost headers for
themselves, and so they won't compile without dragging in these boost
headers as a dependency.
This should be mostly ok to include here since gem5 itself shouldn't
include systemc, just the sub headers that systemc brings in. systemc
code which includes systemc *will* have a dependency on boost, but that
at least contains the new dependency somewhat.
Change-Id: I1877a1b7dae2952f30a9d577d778739abbe7ac3b
Reviewed-on: https://gem5-review.googlesource.com/11178
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
#ifndef __SYSTEMC_EXT_SYSTEMC__
#define __SYSTEMC_EXT_SYSTEMC__
+// This include isn't supposed to be necessary, but some regression tests
+// assume that the sc_bind macro will work without explicitly including the
+// boost headers. This is in contradiction to the spec which says boost isn't
+// a required dependency.
+#include <boost/bind.hpp>
+
#include "channel/_channel.hh"
#include "core/_core.hh"
#include "dt/_dt.hh"