@@ -437,12 +437,22 @@ void symex_target_equationt::convert_decls(
437
437
void symex_target_equationt::convert_guards (
438
438
prop_convt &prop_conv)
439
439
{
440
+ const unsigned verbosity = prop_conv.get_message_handler ().get_verbosity ();
441
+ const bool debug_output = verbosity >= messaget::M_DEBUG;
442
+
440
443
for (auto &step : SSA_steps)
441
444
{
442
445
if (step.ignore )
443
446
step.guard_literal =const_literal (false );
444
447
else
445
448
{
449
+ if (debug_output)
450
+ {
451
+ std::ostringstream oss;
452
+ step.output (oss);
453
+ prop_conv.debug () << oss.str () << messaget::eom;
454
+ }
455
+
446
456
try
447
457
{
448
458
step.guard_literal = prop_conv.convert (step.guard );
@@ -462,6 +472,9 @@ void symex_target_equationt::convert_guards(
462
472
void symex_target_equationt::convert_assumptions (
463
473
prop_convt &prop_conv)
464
474
{
475
+ const unsigned verbosity = prop_conv.get_message_handler ().get_verbosity ();
476
+ const bool debug_output = verbosity >= messaget::M_DEBUG;
477
+
465
478
for (auto &step : SSA_steps)
466
479
{
467
480
if (step.is_assume ())
@@ -470,6 +483,13 @@ void symex_target_equationt::convert_assumptions(
470
483
step.cond_literal =const_literal (true );
471
484
else
472
485
{
486
+ if (debug_output)
487
+ {
488
+ std::ostringstream oss;
489
+ step.output (oss);
490
+ prop_conv.debug () << oss.str () << messaget::eom;
491
+ }
492
+
473
493
try
474
494
{
475
495
step.cond_literal = prop_conv.convert (step.cond_expr );
@@ -490,6 +510,9 @@ void symex_target_equationt::convert_assumptions(
490
510
void symex_target_equationt::convert_goto_instructions (
491
511
prop_convt &prop_conv)
492
512
{
513
+ const unsigned verbosity = prop_conv.get_message_handler ().get_verbosity ();
514
+ const bool debug_output = verbosity >= messaget::M_DEBUG;
515
+
493
516
for (auto &step : SSA_steps)
494
517
{
495
518
if (step.is_goto ())
@@ -498,6 +521,13 @@ void symex_target_equationt::convert_goto_instructions(
498
521
step.cond_literal =const_literal (true );
499
522
else
500
523
{
524
+ if (debug_output)
525
+ {
526
+ std::ostringstream oss;
527
+ step.output (oss);
528
+ prop_conv.debug () << oss.str () << messaget::eom;
529
+ }
530
+
501
531
try
502
532
{
503
533
step.cond_literal = prop_conv.convert (step.cond_expr );
@@ -519,13 +549,24 @@ void symex_target_equationt::convert_goto_instructions(
519
549
void symex_target_equationt::convert_constraints (
520
550
decision_proceduret &decision_procedure) const
521
551
{
552
+ const unsigned verbosity =
553
+ decision_procedure.get_message_handler ().get_verbosity ();
554
+ const bool debug_output = verbosity >= messaget::M_DEBUG;
555
+
522
556
for (const auto &step : SSA_steps)
523
557
{
524
558
if (step.is_constraint ())
525
559
{
526
560
if (step.ignore )
527
561
continue ;
528
562
563
+ if (debug_output)
564
+ {
565
+ std::ostringstream oss;
566
+ step.output (oss);
567
+ decision_procedure.debug () << oss.str () << messaget::eom;
568
+ }
569
+
529
570
decision_procedure.set_to_true (step.cond_expr );
530
571
}
531
572
}
0 commit comments