Check that there is a param context list before trying
authorNathan Binkert <binkertn@umich.edu>
Sun, 18 Feb 2007 06:36:39 +0000 (22:36 -0800)
committerNathan Binkert <binkertn@umich.edu>
Sun, 18 Feb 2007 06:36:39 +0000 (22:36 -0800)
to loop through it.  This is more important as we get rid
of param contexts

--HG--
extra : convert_revision : 5a24048b5c3d609285da83dfcb106910afad6919

src/sim/param.cc

index 5cc69b1618c1ebc3fdf348b3d51af201ec64cee1..091d18f7166efd3cc69126be2c43b7e8a4dd495d 100644 (file)
@@ -701,11 +701,12 @@ ParamContext::printErrorProlog(ostream &os)
 void
 ParamContext::parseAllContexts(IniFile &iniFile)
 {
-    list<ParamContext *>::iterator iter;
+    if (!ctxList)
+        return;
 
+    list<ParamContext *>::iterator iter;
     for (iter = ctxList->begin(); iter != ctxList->end(); ++iter) {
         ParamContext *pc = *iter;
-
         pc->parseParams(iniFile);
     }
 }
@@ -717,11 +718,12 @@ ParamContext::parseAllContexts(IniFile &iniFile)
 void
 ParamContext::checkAllContexts()
 {
-    list<ParamContext *>::iterator iter;
+    if (!ctxList)
+        return;
 
+    list<ParamContext *>::iterator iter;
     for (iter = ctxList->begin(); iter != ctxList->end(); ++iter) {
         ParamContext *pc = *iter;
-
         pc->checkParams();
     }
 }
@@ -733,8 +735,10 @@ ParamContext::checkAllContexts()
 void
 ParamContext::showAllContexts(ostream &os)
 {
-    list<ParamContext *>::iterator iter;
+    if (!ctxList)
+        return;
 
+    list<ParamContext *>::iterator iter;
     for (iter = ctxList->begin(); iter != ctxList->end(); ++iter) {
         ParamContext *pc = *iter;
 
@@ -751,8 +755,10 @@ ParamContext::showAllContexts(ostream &os)
 void
 ParamContext::cleanupAllContexts()
 {
-    list<ParamContext *>::iterator iter;
+    if (!ctxList)
+        return;
 
+    list<ParamContext *>::iterator iter;
     for (iter = ctxList->begin(); iter != ctxList->end(); ++iter) {
         ParamContext *pc = *iter;
 
@@ -767,8 +773,10 @@ ParamContext::cleanupAllContexts()
 void
 ParamContext::describeAllContexts(ostream &os)
 {
-    list<ParamContext *>::iterator iter;
+    if (!ctxList)
+        return;
 
+    list<ParamContext *>::iterator iter;
     for (iter = ctxList->begin(); iter != ctxList->end(); ++iter) {
         ParamContext *pc = *iter;