From 77f8f5d94cf9f2994f544dba14f4432ff4f3287f Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Mon, 20 Oct 2014 18:03:54 -0400 Subject: base: Fix for stats node on gcc < 4.6.3 This patch adds an explicit function to get the underlying node as gcc 4.6.1 and 4.6.2 have issues otherwise. --- src/base/statistics.cc | 6 +++--- src/base/statistics.hh | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src') 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 >(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. -- cgit v1.2.3