Skip to content

Commit d114bf7

Browse files
committed
Factor out common vsd option handling
1 parent a287233 commit d114bf7

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

src/goto-analyzer/goto_analyzer_parse_options.cpp

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ Author: Daniel Kroening, [email protected]
7474
#include "taint_analysis.h"
7575
#include "unreachable_instructions.h"
7676

77+
void vsd_options(optionst &options, const cmdlinet &cmdline);
78+
7779
goto_analyzer_parse_optionst::goto_analyzer_parse_optionst(
7880
int argc,
7981
const char **argv)
@@ -366,31 +368,17 @@ void goto_analyzer_parse_optionst::get_command_line_options(optionst &options)
366368
else if(cmdline.isset("vsd") || cmdline.isset("variable-sensitivity"))
367369
{
368370
options.set_option("vsd", true);
369-
options.set_option("domain set", true);
370-
371-
// Configuration of VSD
372-
options.set_option("values", cmdline.get_value("vsd-values"));
373-
options.set_option("pointers", cmdline.get_value("vsd-pointers"));
374-
options.set_option("arrays", cmdline.get_value("vsd-arrays"));
375-
options.set_option("structs", cmdline.get_value("vsd-structs"));
376-
options.set_option("unions", cmdline.get_value("vsd-unions"));
377-
options.set_option("flow-insensitive", cmdline.isset("vsd-flow-insensitive"));
378371
options.set_option(
379372
"data-dependencies", cmdline.isset("vsd-data-dependencies"));
373+
374+
vsd_options(options, cmdline);
380375
}
381376
else if(cmdline.isset("dependence-graph-vs"))
382377
{
383378
options.set_option("dependence-graph-vs", true);
384-
options.set_option("domain set", true);
385-
386-
// Configuration of variable sensitivity domain
387-
options.set_option("values", cmdline.get_value("vsd-values"));
388-
options.set_option("pointers", cmdline.get_value("vsd-pointers"));
389-
options.set_option("arrays", cmdline.get_value("vsd-arrays"));
390-
options.set_option("structs", cmdline.get_value("vsd-structs"));
391-
options.set_option("unions", cmdline.get_value("vsd-unions"));
392-
options.set_option("flow-insensitive", cmdline.isset("vsd-flow-insensitive"));
393379
options.set_option("data-dependencies", true);
380+
381+
vsd_options(options, cmdline);
394382
}
395383

396384
// Reachability questions, when given with a domain swap from specific
@@ -1068,3 +1056,18 @@ void goto_analyzer_parse_optionst::help()
10681056
"\n";
10691057
// clang-format on
10701058
}
1059+
1060+
void vsd_options(optionst &options, const cmdlinet &cmdline)
1061+
{
1062+
options.set_option("domain set", true);
1063+
1064+
// Configuration of VSD
1065+
options.set_option("values", cmdline.get_value("vsd-values"));
1066+
options.set_option("pointers", cmdline.get_value("vsd-pointers"));
1067+
options.set_option("arrays", cmdline.get_value("vsd-arrays"));
1068+
options.set_option("structs", cmdline.get_value("vsd-structs"));
1069+
options.set_option("unions", cmdline.get_value("vsd-unions"));
1070+
options.set_option("flow-insensitive",
1071+
cmdline.isset("vsd-flow-insensitive"));
1072+
}
1073+

0 commit comments

Comments
 (0)