From 6dd3d3c0047d17ca0d32a112d3ff56b637bb1152 Mon Sep 17 00:00:00 2001 From: Daniel Kroening Date: Mon, 27 Aug 2018 15:08:11 +0100 Subject: [PATCH] replace_symbolt can now replace tag type symbols --- src/util/replace_symbol.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/util/replace_symbol.cpp b/src/util/replace_symbol.cpp index ac4a27d2772..e5476d9af15 100644 --- a/src/util/replace_symbol.cpp +++ b/src/util/replace_symbol.cpp @@ -181,6 +181,19 @@ bool replace_symbolt::replace(typet &dest) const if(!replace(p)) result=false; } + else if(dest.id() == ID_union_tag || + dest.id() == ID_struct_tag || + dest.id() == ID_c_enum_tag) + { + type_mapt::const_iterator it = + type_map.find(to_tag_type(dest).get_identifier()); + + if(it != type_map.end()) + { + dest = it->second; + result = false; + } + } else if(dest.id()==ID_array) { array_typet &array_type=to_array_type(dest);