sim: Don't add the NULL SimObject as a child of other SimObjects.
authorGabe Black <gabeblack@google.com>
Mon, 25 Sep 2017 23:17:24 +0000 (16:17 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 26 Sep 2017 23:47:06 +0000 (23:47 +0000)
Change-Id: Ibdc48af8e5a461077f75d781cfd8191586c54115
Reviewed-on: https://gem5-review.googlesource.com/4846
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>

src/python/m5/SimObject.py

index baeef73d9fb4ee8f020d0bec5cce86f5dec7efc4..cff818c6609eb0ddb853211173a553a098bde24c 100644 (file)
@@ -579,7 +579,8 @@ class MetaSimObject(type):
         # object is not an orphan and can provide better error
         # messages.
         child.set_parent(cls, name)
-        cls._children[name] = child
+        if not isNullPointer(child):
+            cls._children[name] = child
 
     def _new_port(cls, name, port):
         # each port should be uniquely assigned to one variable
@@ -1226,7 +1227,8 @@ class SimObject(object):
             # exercised without specialized testing.
             self.clear_child(name)
         child.set_parent(self, name)
-        self._children[name] = child
+        if not isNullPointer(child):
+            self._children[name] = child
 
     # Take SimObject-valued parameters that haven't been explicitly
     # assigned as children and make them children of the object that