diff options
author | Abdalrhman Mohamed <32971963+abdoo8080@users.noreply.github.com> | 2021-11-05 22:30:23 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-06 03:30:23 +0000 |
commit | dae75929c02225ff519bf8d4cf9f9a38e1d61b08 (patch) | |
tree | acec2167c51fd48fb026b70c72632f247a68d973 /src/smt/command.cpp | |
parent | 6a0e1ac3b3b2cc048dae064358c4063a0b5969cc (diff) |
Print `unsupported` for unrecognized flags. (#7384)
Fixes #7374.
Diffstat (limited to 'src/smt/command.cpp')
-rw-r--r-- | src/smt/command.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/smt/command.cpp b/src/smt/command.cpp index a15e20998..419167e7e 100644 --- a/src/smt/command.cpp +++ b/src/smt/command.cpp @@ -2557,11 +2557,15 @@ void SetInfoCommand::invoke(api::Solver* solver, SymbolManager* sm) solver->setInfo(d_flag, d_value); d_commandStatus = CommandSuccess::instance(); } - catch (api::CVC5ApiRecoverableException&) + catch (api::CVC5ApiUnsupportedException&) { // As per SMT-LIB spec, silently accept unknown set-info keys d_commandStatus = CommandSuccess::instance(); } + catch (api::CVC5ApiRecoverableException& e) + { + d_commandStatus = new CommandRecoverableFailure(e.getMessage()); + } catch (exception& e) { d_commandStatus = new CommandFailure(e.what()); @@ -2599,9 +2603,13 @@ void GetInfoCommand::invoke(api::Solver* solver, SymbolManager* sm) d_result = sexprToString(solver->mkTerm(api::SEXPR, v)); d_commandStatus = CommandSuccess::instance(); } + catch (api::CVC5ApiUnsupportedException&) + { + d_commandStatus = new CommandUnsupported(); + } catch (api::CVC5ApiRecoverableException& e) { - d_commandStatus = new CommandRecoverableFailure(e.what()); + d_commandStatus = new CommandRecoverableFailure(e.getMessage()); } catch (exception& e) { @@ -2658,10 +2666,14 @@ void SetOptionCommand::invoke(api::Solver* solver, SymbolManager* sm) solver->setOption(d_flag, d_value); d_commandStatus = CommandSuccess::instance(); } - catch (api::CVC5ApiRecoverableException&) + catch (api::CVC5ApiUnsupportedException&) { d_commandStatus = new CommandUnsupported(); } + catch (api::CVC5ApiRecoverableException& e) + { + d_commandStatus = new CommandRecoverableFailure(e.getMessage()); + } catch (exception& e) { d_commandStatus = new CommandFailure(e.what()); @@ -2696,7 +2708,7 @@ void GetOptionCommand::invoke(api::Solver* solver, SymbolManager* sm) d_result = solver->getOption(d_flag); d_commandStatus = CommandSuccess::instance(); } - catch (api::CVC5ApiRecoverableException&) + catch (api::CVC5ApiUnsupportedException&) { d_commandStatus = new CommandUnsupported(); } |