From: Andreas Hansson Date: Mon, 20 Oct 2014 22:03:54 +0000 (-0400) Subject: base: Fix for stats node on gcc < 4.6.3 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=77f8f5d94cf9f2994f544dba14f4432ff4f3287f;p=gem5.git 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. --- 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.