summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-06-11 18:53:25 -0700
committerGabe Black <gabeblack@google.com>2018-08-15 01:34:22 +0000
commitc172a64db11daa14e11b614374688934112dffd2 (patch)
treee3f6018399dd7735a37e2168d3986832bfd24a9f
parentf8ad69b3204d5932fe7dd6948219921a8ca20675 (diff)
downloadgem5-c172a64db11daa14e11b614374688934112dffd2.tar.xz
systemc: Include boost/bind.hpp in the systemc header.
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>
-rw-r--r--src/systemc/ext/systemc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/systemc/ext/systemc b/src/systemc/ext/systemc
index 1224a7e1b..e2485509e 100644
--- a/src/systemc/ext/systemc
+++ b/src/systemc/ext/systemc
@@ -30,6 +30,12 @@
#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"