diff options
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/statistics.cc | 6 | ||||
-rw-r--r-- | src/base/statistics.hh | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/base/statistics.cc b/src/base/statistics.cc index 5ab837410..b63e69b68 100644 --- a/src/base/statistics.cc +++ b/src/base/statistics.cc @@ -379,7 +379,7 @@ Formula::Formula() Formula::Formula(Temp r) { - root = r; + root = r.getNodePtr(); setInit(); assert(size()); } @@ -388,7 +388,7 @@ const Formula & Formula::operator=(Temp r) { assert(!root && "Can't change formulas"); - root = r; + root = r.getNodePtr(); setInit(); assert(size()); return *this; @@ -400,7 +400,7 @@ Formula::operator+=(Temp r) if (root) root = NodePtr(new BinaryNode<std::plus<Result> >(root, r)); else { - root = r; + root = r.getNodePtr(); setInit(); } diff --git a/src/base/statistics.hh b/src/base/statistics.hh index 658652f05..a21bf81d1 100644 --- a/src/base/statistics.hh +++ b/src/base/statistics.hh @@ -2999,6 +2999,11 @@ class Temp */ operator NodePtr&() { return node; } + /** + * Makde gcc < 4.6.3 happy and explicitly get the underlying node. + */ + NodePtr getNodePtr() const { return node; } + public: /** * Create a new ScalarStatNode. |