From: Steve Reinhardt Date: Fri, 3 Jun 2005 20:21:37 +0000 (-0400) Subject: Bug fix & cleanup in config code. X-Git-Tag: m5_1.0_tutorial~38 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=af3add2e331fd1c77b5c83b65bcc7ba30d831ac8;p=gem5.git Bug fix & cleanup in config code. python/m5/config.py: Bug fix: code was silently converting between incompatible SimObject types as an unintended side-effect of the object cloning support. --HG-- extra : convert_revision : 236f4fe5370f2eddf8af8fab68e2b83dccc34305 --- diff --git a/python/m5/config.py b/python/m5/config.py index 48d945d14..091df3662 100644 --- a/python/m5/config.py +++ b/python/m5/config.py @@ -291,6 +291,10 @@ class SimObject(object): def __init__(self, _value_parent = None, **kwargs): self._children = {} + if _value_parent and type(_value_parent) != type(self): + # this was called as a type conversion rather than a clone + raise TypeError, "Cannot convert %s to %s" % \ + (_value_parent.__class__.__name__, self.__class__.__name__) if not _value_parent: _value_parent = self.__class__ # clone values