about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2017-02-28 17:59:15 +0100
committerJiri Slaby <jirislaby@gmail.com>2017-02-28 17:59:15 +0100
commit6d0c409ce885a38979f3bcb8d73ebc8bacc0dcfa (patch)
treea70f036519036e56f108eaa9eef4158ae10cf963
parente21bf6f653b9c602fe21b74ff7c389aa2430b386 (diff)
downloadklee-6d0c409ce885a38979f3bcb8d73ebc8bacc0dcfa.tar.gz
Module: simplify is_object checks
object::Binary has isObject method, which can be used to check whether
it is an object::ObjectFile. Use that, since dyn_casting of
object::Binary is not allowed in newer LLVMs:
lib/Module/ModuleUtil.cpp:304:78: error: cannot convert ‘llvm::object::ObjectFile’ to ‘llvm::object::ObjectFile*’ in initialization
     else if (object::ObjectFile *o = dyn_cast<object::ObjectFile>(child.get()))
                                                                              ^

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
-rw-r--r--lib/Module/ModuleUtil.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Module/ModuleUtil.cpp b/lib/Module/ModuleUtil.cpp
index 94a37e08..83dc5045 100644
--- a/lib/Module/ModuleUtil.cpp
+++ b/lib/Module/ModuleUtil.cpp
@@ -266,9 +266,9 @@ static bool linkBCA(object::Archive* archive, Module* composite, std::string& er
       }
 
     }
-    else if (object::ObjectFile *o = dyn_cast<object::ObjectFile>(child.get()))
+    else if (child.get()->isObject())
     {
-      SS << "Object file " << o->getFileName().data() <<
+      SS << "Object file " << child.get()->getFileName().data() <<
             " in archive is not supported";
       SS.flush();
       return false;
@@ -412,10 +412,10 @@ Module *klee::linkWithLibrary(Module *module,
 
   } else if (magic.is_object()) {
     OwningPtr<object::Binary> obj;
-    if (object::ObjectFile *o = dyn_cast<object::ObjectFile>(obj.get())) {
+    if (obj.get()->isObject()) {
       klee_warning("Link with library: Object file %s in archive %s found. "
           "Currently not supported.",
-          o->getFileName().data(), libraryName.c_str());
+          obj.get()->getFileName().data(), libraryName.c_str());
     }
   } else {
     klee_error("Link with library %s failed: Unrecognized file type.",