about summary refs log tree commit diff homepage
path: root/lib/Module
diff options
context:
space:
mode:
authorMartin Nowack <martin@se.inf.tu-dresden.de>2014-02-07 21:04:22 +0100
committerMartin Nowack <martin@se.inf.tu-dresden.de>2014-04-14 10:34:54 +0200
commit347795c5d2dbc2815d395e60a08ad3debca68102 (patch)
treea3b11935354c4178fd8baf78a02962226d89deab /lib/Module
parent237899d2fe681e5ea70baef5104c43feba87dea2 (diff)
downloadklee-347795c5d2dbc2815d395e60a08ad3debca68102.tar.gz
Use SmallString and llvm::sys::path/fs API of LLVM 3.4 because
Old Path API was removed
Diffstat (limited to 'lib/Module')
-rw-r--r--lib/Module/KModule.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Module/KModule.cpp b/lib/Module/KModule.cpp
index 2ecb14b8..5f03728b 100644
--- a/lib/Module/KModule.cpp
+++ b/lib/Module/KModule.cpp
@@ -375,6 +375,11 @@ void KModule::prepare(const Interpreter::ModuleOptions &opts,
   // FIXME: Find a way that we can test programs without requiring
   // this to be linked in, it makes low level debugging much more
   // annoying.
+#if LLVM_VERSION_CODE >= LLVM_VERSION(3,4)
+  SmallString<128> LibPath(opts.LibraryDir);
+  llvm::sys::path::append(LibPath, "kleeRuntimeIntrinsic.bc");
+  module = linkWithLibrary(module, LibPath.str());
+#else
   llvm::sys::Path path(opts.LibraryDir);
 #if LLVM_VERSION_CODE >= LLVM_VERSION(3, 3)
   path.appendComponent("kleeRuntimeIntrinsic.bc");
@@ -382,6 +387,7 @@ void KModule::prepare(const Interpreter::ModuleOptions &opts,
   path.appendComponent("libkleeRuntimeIntrinsic.bca");
 #endif
   module = linkWithLibrary(module, path.c_str());
+#endif
 
   // Add internal functions which are not used to check if instructions
   // have been already visited