diff --git a/src/util/fresh_symbol.cpp b/src/util/fresh_symbol.cpp index fbe6f09b871..1f1549a96d1 100644 --- a/src/util/fresh_symbol.cpp +++ b/src/util/fresh_symbol.cpp @@ -41,6 +41,7 @@ symbolt &get_fresh_aux_symbol( do { + // Distinguish local variables with the same name new_symbol.base_name= basename_prefix+ "$"+ diff --git a/src/util/ssa_expr.cpp b/src/util/ssa_expr.cpp index c75d7d2ed92..7348cc48484 100644 --- a/src/util/ssa_expr.cpp +++ b/src/util/ssa_expr.cpp @@ -61,18 +61,23 @@ static void build_ssa_identifier_rec( if(!l0.empty()) { + // Distinguish different threads of execution os << '!' << l0; l1_object_os << '!' << l0; } if(!l1.empty()) { + // Distinguish different calls to the same function (~stack frame) os << '@' << l1; l1_object_os << '@' << l1; } if(!l2.empty()) + { + // Distinguish SSA steps for the same variable os << '#' << l2; + } } else assert(false);