aboutsummaryrefslogtreecommitdiff
path: root/build2/variable.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/variable.cxx')
-rw-r--r--build2/variable.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/build2/variable.cxx b/build2/variable.cxx
index bcf9d62..8e32b30 100644
--- a/build2/variable.cxx
+++ b/build2/variable.cxx
@@ -568,7 +568,12 @@ namespace build2
{
return path (move (n.value));
}
- catch (const invalid_path&) {} // Fall through.
+ catch (invalid_path& e)
+ {
+ n.value = move (e.path); // Restore the name object for diagnostics.
+
+ // Fall through.
+ }
}
// Fall through.
@@ -627,7 +632,7 @@ namespace build2
{
type_name,
sizeof (dir_path),
- nullptr, // No base, or should it be path?
+ &value_traits<path>::value_type, // Assume direct cast works for both.
&default_dtor<dir_path>,
&default_copy_ctor<dir_path>,
&default_copy_assign<dir_path>,