mkdir -p cvc4-smtcomp-$(YEAR)
cp -p builds/bin/cvc4 cvc4-smtcomp-$(YEAR)/cvc4
( echo '#!/bin/sh'; \
- echo 'exec ./cvc4 -L smt2 --no-interactive' ) > cvc4-smtcomp-$(YEAR)/run
+ echo 'exec ./cvc4 -L smt2 --no-checking --no-interactive' ) > cvc4-smtcomp-$(YEAR)/run
chmod 755 cvc4-smtcomp-$(YEAR)/run
tar cf cvc4-smtcomp-$(YEAR).tar cvc4-smtcomp-$(YEAR)
# application track is a separate build too :-(
mkdir -p cvc4-application-smtcomp-$(YEAR)
cp -p builds/bin/cvc4 cvc4-application-smtcomp-$(YEAR)/cvc4
( echo '#!/bin/sh'; \
- echo 'exec ./cvc4 -L smt2 --no-interactive --incremental' ) > cvc4-application-smtcomp-$(YEAR)/run
+ echo 'exec ./cvc4 -L smt2 --no-checking --no-interactive --incremental' ) > cvc4-application-smtcomp-$(YEAR)/run
chmod 755 cvc4-application-smtcomp-$(YEAR)/run
tar cf cvc4-application-smtcomp-$(YEAR).tar cvc4-application-smtcomp-$(YEAR)
# parallel track can't be built with -cln, so it's a separate build
mkdir -p cvc4-parallel-smtcomp-$(YEAR)
cp -p builds/bin/pcvc4 cvc4-parallel-smtcomp-$(YEAR)/pcvc4
( echo '#!/bin/sh'; \
- echo 'exec ./pcvc4 --threads 2 -L smt2 --no-interactive' ) > cvc4-parallel-smtcomp-$(YEAR)/run
+ echo 'exec ./pcvc4 --threads 2 -L smt2 --no-checking --no-interactive' ) > cvc4-parallel-smtcomp-$(YEAR)/run
chmod 755 cvc4-parallel-smtcomp-$(YEAR)/run
tar cf cvc4-parallel-smtcomp-$(YEAR).tar cvc4-parallel-smtcomp-$(YEAR)
void DeclareFunctionCommand::invoke(SmtEngine* smtEngine) throw() {
Dump("declarations") << *this;
+ d_commandStatus = CommandSuccess::instance();
}
Command* DeclareFunctionCommand::exportTo(ExprManager* exprManager,
void DeclareTypeCommand::invoke(SmtEngine* smtEngine) throw() {
Dump("declarations") << *this;
+ d_commandStatus = CommandSuccess::instance();
}
Command* DeclareTypeCommand::exportTo(ExprManager* exprManager,
*options.replayLog << Expr::setlanguage(options.outputLanguage) << Expr::setdepth(-1);
}
+ // important even for muzzled builds (to get result output right)
+ *options.out << Expr::setlanguage(options.outputLanguage);
+
// Parse and execute commands until we are done
Command* cmd;
bool status = true;
replayParser->useDeclarationsFrom(parser);
}
while((cmd = parser->nextCommand())) {
+ if(dynamic_cast<QuitCommand*>(cmd) != NULL) {
+ delete cmd;
+ break;
+ }
status = doCommand(smt, cmd, options) && status;
delete cmd;
}
<< Expr::printtypes(false);
}
+ // important even for muzzled builds (to get result output right)
+ *options.out << Expr::setlanguage(options.outputLanguage);
+
vector<Options> threadOptions;
for(int i = 0; i < numThreads; ++i) {
threadOptions.push_back(options);
}
static void toStream(std::ostream& out, const CommandUnsupported* s) throw() {
+#ifdef CVC4_COMPETITION_MODE
+ // if in competition mode, lie and say we're ok
+ // (we have nothing to lose by saying success, and everything to lose
+ // if we say "unsupported")
+ out << "success" << endl;
+#else /* CVC4_COMPETITION_MODE */
out << "unsupported" << endl;
+#endif /* CVC4_COMPETITION_MODE */
}
static void toStream(std::ostream& out, const CommandFailure* s) throw() {
void SmtEngine::setOption(const std::string& key, const SExpr& value)
throw(BadOptionException, ModalException) {
+
+ NodeManagerScope nms(d_nodeManager);
+
Trace("smt") << "SMT setOption(" << key << ", " << value << ")" << endl;
if(Dump.isOn("benchmark")) {
Dump("benchmark") << SetOptionCommand(key, value);
if(key == ":print-success") {
if(value.isAtom() && value.getValue() == "false") {
- // fine; don't need to do anything
+ *Options::current()->out << Command::printsuccess(false);
+ } else if(value.isAtom() && value.getValue() == "true") {
+ *Options::current()->out << Command::printsuccess(true);
} else {
throw BadOptionException();
}
SExpr SmtEngine::getOption(const std::string& key) const
throw(BadOptionException) {
+
+ NodeManagerScope nms(d_nodeManager);
+
Trace("smt") << "SMT getOption(" << key << ")" << endl;
if(Dump.isOn("benchmark")) {
Dump("benchmark") << GetOptionCommand(key);
}
if(key == ":print-success") {
- return SExpr("true");
+ if(Command::printsuccess::getPrintSuccess(*Options::current()->out)) {
+ return SExpr("true");
+ } else {
+ return SExpr("false");
+ }
} else if(key == ":expand-definitions") {
throw BadOptionException();
} else if(key == ":interactive-mode") {