From e3abde43f58e8290b86886d192a72c771f608d26 Mon Sep 17 00:00:00 2001 From: Leonardo Alt Date: Wed, 14 Apr 2021 12:56:43 +0200 Subject: [PATCH] Change settings.modelChecker.targets to take an array instead of string --- Changelog.md | 1 + docs/smtchecker.rst | 14 ++++---- docs/using-the-compiler.rst | 8 ++--- libsolidity/formal/ModelCheckerSettings.cpp | 34 ++++++++++++------- libsolidity/formal/ModelCheckerSettings.h | 10 ++++-- libsolidity/interface/StandardCompiler.cpp | 23 +++++++++---- solc/CommandLineInterface.cpp | 2 +- .../model_checker_targets_all/args | 2 +- .../model_checker_targets_all_bmc/args | 2 +- .../model_checker_targets_all_chc/args | 2 +- .../input.json | 3 +- .../input.json | 3 +- .../input.json | 3 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../output.json | 1 + .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 2 +- .../input.json | 30 ++++++++++++++++ .../output.json | 1 + .../input.json | 30 ++++++++++++++++ .../output.json | 1 + .../input.json | 30 ++++++++++++++++ .../output.json | 0 41 files changed, 180 insertions(+), 62 deletions(-) rename test/cmdlineTests/{standard_model_checker_targets_wrong => standard_model_checker_targets_empty_array}/input.json (94%) create mode 100644 test/cmdlineTests/standard_model_checker_targets_empty_array/output.json create mode 100644 test/cmdlineTests/standard_model_checker_targets_wrong_target_types/input.json create mode 100644 test/cmdlineTests/standard_model_checker_targets_wrong_target_types/output.json create mode 100644 test/cmdlineTests/standard_model_checker_targets_wrong_target_types_2/input.json create mode 100644 test/cmdlineTests/standard_model_checker_targets_wrong_target_types_2/output.json create mode 100644 test/cmdlineTests/standard_model_checker_targets_wrong_targets/input.json rename test/cmdlineTests/{standard_model_checker_targets_wrong => standard_model_checker_targets_wrong_targets}/output.json (100%) diff --git a/Changelog.md b/Changelog.md index b8244c205..707a1f76e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -18,6 +18,7 @@ Compiler Features: * SMTChecker: Report local variables in CHC counterexamples. * SMTChecker: Report out of bounds index access for arrays and fixed bytes. * Standard JSON: Model checker option ``settings.modelChecker.targets`` also accepts ``outOfBounds``. + * Standard JSON: Model checker option ``settings.modelChecker.targets`` takes an array of string targets instead of string of comma separated targets. * Yul Optimizer: Added a new step FunctionSpecializer, that specializes a function with its literal arguments. * Yul EVM Code Transform: Stack Optimization: Reuse slots of unused function arguments and defer allocating stack slots for return variables until after expression statements and assignments that do not reference them. * NatSpec: Allow ``@notice`` tag on non-public state variables and local variable declarations. The documentation will only be part of the AST, under the field ``documentation``. diff --git a/docs/smtchecker.rst b/docs/smtchecker.rst index 737c92836..4d5cf9c9a 100644 --- a/docs/smtchecker.rst +++ b/docs/smtchecker.rst @@ -448,10 +448,13 @@ the JSON option ``settings.modelChecker.timeout=