File tree 2 files changed +36
-0
lines changed
2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -376,6 +376,40 @@ int goto_analyzer_parse_optionst::doit()
376
376
return 6 ;
377
377
}
378
378
379
+ try
380
+ {
381
+ return perform_analysis (options);
382
+ }
383
+
384
+ catch (const char *e)
385
+ {
386
+ error () << e << eom;
387
+ return CPROVER_EXIT_EXCEPTION;
388
+ }
389
+
390
+ catch (const std::string &e)
391
+ {
392
+ error () << e << eom;
393
+ return CPROVER_EXIT_EXCEPTION;
394
+ }
395
+
396
+ catch (int e)
397
+ {
398
+ error () << " Numeric exception: " << e << eom;
399
+ return CPROVER_EXIT_EXCEPTION;
400
+ }
401
+
402
+ catch (const std::bad_alloc &)
403
+ {
404
+ error () << " Out of memory" << eom;
405
+ return CPROVER_EXIT_INTERNAL_OUT_OF_MEMORY;
406
+ }
407
+ }
408
+
409
+
410
+ // / Depending on the command line mode, run one of the analysis tasks
411
+ int goto_analyzer_parse_optionst::perform_analysis (const optionst &options)
412
+ {
379
413
if (options.get_bool_option (" taint" ))
380
414
{
381
415
std::string taint_file=cmdline.get_value (" taint" );
Original file line number Diff line number Diff line change @@ -166,6 +166,8 @@ class goto_analyzer_parse_optionst:
166
166
virtual bool process_goto_program (const optionst &options);
167
167
bool set_properties ();
168
168
169
+ virtual int perform_analysis (const optionst &options);
170
+
169
171
ai_baset *build_analyzer (const optionst &options);
170
172
171
173
void eval_verbosity ();
You can’t perform that action at this time.
0 commit comments