summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-11-12 18:06:02 -0800
committerGabe Black <gblack@eecs.umich.edu>2007-11-12 18:06:02 -0800
commit6095dceb0c34cf79ecbd799ab4b2cbe7b7c8629a (patch)
tree5a82debf1ba3fb5187a19d4a47a1f3670e1ef37b
parent917ae9ec668fde45c8cb614d9fac29df33892fa1 (diff)
downloadgem5-6095dceb0c34cf79ecbd799ab4b2cbe7b7c8629a.tar.xz
Params: Fix check for cycles in the configuration and clarify the comments/error message.
--HG-- extra : convert_revision : 8f35dde408fae874bcba1a248d32a22222d98c35
-rw-r--r--src/python/m5/SimObject.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py
index d3e7d7975..78df6bef1 100644
--- a/src/python/m5/SimObject.py
+++ b/src/python/m5/SimObject.py
@@ -793,12 +793,14 @@ class SimObject(object):
# necessary to construct it. Does *not* recursively create
# children.
def getCCObject(self):
- params = self.getCCParams()
if not self._ccObject:
- self._ccObject = -1 # flag to catch cycles in recursion
+ # Cycles in the configuration heirarchy are not supported. This
+ # will catch the resulting recursion and stop.
+ self._ccObject = -1
+ params = self.getCCParams()
self._ccObject = params.create()
elif self._ccObject == -1:
- raise RuntimeError, "%s: recursive call to getCCObject()" \
+ raise RuntimeError, "%s: Cycle found in configuration heirarchy." \
% self.path()
return self._ccObject