QuitCommand needs "success" output for trace executor. :-(
authorMorgan Deters <mdeters@cs.nyu.edu>
Sun, 22 Jun 2014 07:01:23 +0000 (03:01 -0400)
committerMorgan Deters <mdeters@cs.nyu.edu>
Sun, 22 Jun 2014 07:01:23 +0000 (03:01 -0400)
src/main/driver_unified.cpp

index d9b9694e5c986265d55d166bbf84efca401cfe51..2f75c88877f86503f97478152c95cff1361e248b 100644 (file)
@@ -383,11 +383,11 @@ int runCvc4(int argc, char* argv[], Options& opts) {
         } else {
           Command* copy = cmd->clone();
           allCommands.back().push_back(copy);
+          status = pExecutor->doCommand(cmd);
           if(dynamic_cast<QuitCommand*>(cmd) != NULL) {
             delete cmd;
             break;
           }
-          status = pExecutor->doCommand(cmd);
         }
         delete cmd;
       }
@@ -417,11 +417,11 @@ int runCvc4(int argc, char* argv[], Options& opts) {
         replayParser->useDeclarationsFrom(parser);
       }
       while(status && (cmd = parser->nextCommand())) {
+        status = pExecutor->doCommand(cmd);
         if(dynamic_cast<QuitCommand*>(cmd) != NULL) {
           delete cmd;
           break;
         }
-        status = pExecutor->doCommand(cmd);
         delete cmd;
       }
       // Remove the parser