aboutsummaryrefslogtreecommitdiff
path: root/build2/cc
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2016-09-09 18:29:37 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2016-09-13 13:03:19 +0300
commitdc1b424b75f200a716c3bd9b91891cf7f818ad32 (patch)
tree6c1625d8a52ad7ddc642da72f3c1f8896b617ff2 /build2/cc
parentc49a4f0aeefd04ea6a269693d47d1e9d91ed8ad7 (diff)
Fix crashing on unhandled system_error thrown by file_exists()
Diffstat (limited to 'build2/cc')
-rw-r--r--build2/cc/link.cxx1
-rw-r--r--build2/cc/pkgconfig.cxx8
-rw-r--r--build2/cc/windows-manifest.cxx2
-rw-r--r--build2/cc/windows-rpath.cxx4
4 files changed, 8 insertions, 7 deletions
diff --git a/build2/cc/link.cxx b/build2/cc/link.cxx
index 9a8e21c..d36e5e1 100644
--- a/build2/cc/link.cxx
+++ b/build2/cc/link.cxx
@@ -9,6 +9,7 @@
#include <iostream> // cerr
#include <butl/path-map>
+#include <butl/filesystem> // file_exists()
#include <build2/depdb>
#include <build2/scope>
diff --git a/build2/cc/pkgconfig.cxx b/build2/cc/pkgconfig.cxx
index 23128e4..3a7bf82 100644
--- a/build2/cc/pkgconfig.cxx
+++ b/build2/cc/pkgconfig.cxx
@@ -63,7 +63,7 @@ namespace build2
//
dir_path pkgd (dir_path (libd) /= dir);
- if (!dir_exists (pkgd))
+ if (!exists (pkgd))
return false;
// See if there is a corresponding .pc file. About half of them called
@@ -82,7 +82,7 @@ namespace build2
f /= stem;
f += ".pc";
- if (file_exists (f))
+ if (exists (f))
return true;
f = pkgd;
@@ -90,7 +90,7 @@ namespace build2
f += stem;
f += ".pc";
- if (file_exists (f))
+ if (exists (f))
return true;
if (proj != nullptr)
@@ -99,7 +99,7 @@ namespace build2
f /= *proj;
f += ".pc";
- if (file_exists (f))
+ if (exists (f))
return true;
}
diff --git a/build2/cc/windows-manifest.cxx b/build2/cc/windows-manifest.cxx
index 0666ef5..a3e87fe 100644
--- a/build2/cc/windows-manifest.cxx
+++ b/build2/cc/windows-manifest.cxx
@@ -99,7 +99,7 @@ namespace build2
//
path mf (t.path () + ".manifest");
- if (file_exists (mf))
+ if (exists (mf))
{
try
{
diff --git a/build2/cc/windows-rpath.cxx b/build2/cc/windows-rpath.cxx
index e27dddb..1bef95c 100644
--- a/build2/cc/windows-rpath.cxx
+++ b/build2/cc/windows-rpath.cxx
@@ -157,14 +157,14 @@ namespace build2
pdb = f;
pdb += ".pdb";
- if (!file_exists (pdb.c_str ()))
+ if (!exists (path (pdb)))
{
// Then try the usual naming: foo.pdb.
//
pdb.assign (f, 0, p);
pdb += ".pdb";
- if (!file_exists (pdb.c_str ()))
+ if (!exists (path (pdb)))
pdb.clear ();
}