about summary refs log tree commit diff homepage
path: root/lib/Core
diff options
context:
space:
mode:
authorDan Liew <daniel.liew@imperial.ac.uk>2014-04-02 21:44:51 +0100
committerMartin Nowack <martin@se.inf.tu-dresden.de>2014-04-14 10:34:54 +0200
commit4a9a908739d7d7c833e7985ea7465d95c0dd0b82 (patch)
tree34943eae75ca7471ff91534acde5bc4578a7d530 /lib/Core
parentf2ce7b5b53d78c370b01f5f219df0ea0021c7bb2 (diff)
downloadklee-4a9a908739d7d7c833e7985ea7465d95c0dd0b82.tar.gz
Tidy up code by using LLVM's V2 path API only and removing uses
of old V1 path API.

LLVM2.9 supports LLVM's V2 path API. Because that is the minimum
version we support we should just use this API everywhere so we
reduce the number of #if LLVM_VERSION_CODE macros and duplicated
code.
Diffstat (limited to 'lib/Core')
-rw-r--r--lib/Core/StatsTracker.cpp28
1 files changed, 7 insertions, 21 deletions
diff --git a/lib/Core/StatsTracker.cpp b/lib/Core/StatsTracker.cpp
index fde2eae8..1bb9885a 100644
--- a/lib/Core/StatsTracker.cpp
+++ b/lib/Core/StatsTracker.cpp
@@ -49,9 +49,7 @@
 #include "llvm/Support/raw_os_ostream.h"
 #include "llvm/Support/Process.h"
 #include "llvm/Support/Path.h"
-#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 1)
 #include "llvm/Support/FileSystem.h"
-#endif
 
 #include <iostream>
 #include <fstream>
@@ -183,27 +181,15 @@ StatsTracker::StatsTracker(Executor &_executor, std::string _objectFilename,
     updateMinDistToUncovered(_updateMinDistToUncovered) {
   KModule *km = executor.kmodule;
 
-#if LLVM_VERSION_CODE < LLVM_VERSION(3, 1)
-  if (!sys::Path(objectFilename).isAbsolute()) {
-#else
   if (!sys::path::is_absolute(objectFilename)) {
-#endif
-
-#if LLVM_VERSION_CODE < LLVM_VERSION(3,4)
-    sys::Path current = sys::Path::GetCurrentDirectory();
-    current.appendComponent(objectFilename);
-#if LLVM_VERSION_CODE < LLVM_VERSION(3, 1)
-    if (current.exists())
-#else
-    if (sys::fs::exists(current.c_str()))
-#endif
-      objectFilename = current.c_str();
-#else
     SmallString<128> current(objectFilename);
-    if(sys::fs::make_absolute(current) && sys::fs::exists(current.str()))
-      objectFilename = current.c_str();
-#endif
-
+    if(sys::fs::make_absolute(current)) {
+      bool exists = false;
+      error_code ec = sys::fs::exists(current.str(), exists);
+      if (ec == errc::success && exists) {
+        objectFilename = current.c_str();
+      }
+    }
   }
 
   if (OutputIStats)