From db744f4a24ffe7f8091440c0b2a8f80c8de46cb4 Mon Sep 17 00:00:00 2001 From: Patrick Lam Date: Mon, 5 Oct 2015 23:23:52 +0200 Subject: [PATCH] add default MC-names for not-found variables in equality test --- clang/src/add_mc2_annotations.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/clang/src/add_mc2_annotations.cpp b/clang/src/add_mc2_annotations.cpp index 07246f9..740a710 100644 --- a/clang/src/add_mc2_annotations.cpp +++ b/clang/src/add_mc2_annotations.cpp @@ -953,8 +953,15 @@ public: DeclRefExpr * l = dyn_cast(lhs), *r = dyn_cast(rhs); is_equality = true; prel << "\nMCID " << condVarEncoded.str() << ";\n"; - std::string ld = DeclToMCVar.find(l->getDecl())->second, + std::string ld, rd; + if (DeclToMCVar.find(l->getDecl()) != DeclToMCVar.end()) + ld = DeclToMCVar.find(l->getDecl())->second; + else + ld = encode(l->getDecl()->getName()); + if (DeclToMCVar.find(r->getDecl()) != DeclToMCVar.end()) rd = DeclToMCVar.find(r->getDecl())->second; + else + rd = encode(r->getDecl()->getName()); prel << "\nint " << condVar << " = MC2_equals(" << ld << ", (uint64_t)" << l->getNameInfo().getName().getAsString() << ", " << -- 2.34.1