aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-05-16 23:52:10 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-05-16 23:52:10 +0100
commit7110128236989c9f957b7345d5615e9df8a337f2 (patch)
tree7ef2b8fa926d7437d2f1b87a551eac6336d4c354
parentafc819e866602cfd1d15f578c33435fd7058f08e (diff)
downloadgcc-7110128236989c9f957b7345d5615e9df8a337f2.zip
gcc-7110128236989c9f957b7345d5615e9df8a337f2.tar.gz
gcc-7110128236989c9f957b7345d5615e9df8a337f2.tar.bz2
Remove incorrect assertion from filesystem::absolute
The assertion is wrong, it should be *s.end() == 0, but that's not allowed. Just remove it, but keep the comment. * src/c++17/fs_ops.cc (absolute(const path&, error_code&)) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove bogus assertion. From-SVN: r271300
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/src/c++17/fs_ops.cc4
2 files changed, 4 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ac7914d..934d513 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,8 @@
2019-05-16 Jonathan Wakely <jwakely@redhat.com>
+ * src/c++17/fs_ops.cc (absolute(const path&, error_code&))
+ [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove bogus assertion.
+
* include/std/variant (__overload_set): Remove.
(_Arr): New helper.
(_Build_FUN): New class template to define a single FUN overload,
diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b/libstdc++-v3/src/c++17/fs_ops.cc
index 2d13b17..274ee7f 100644
--- a/libstdc++-v3/src/c++17/fs_ops.cc
+++ b/libstdc++-v3/src/c++17/fs_ops.cc
@@ -96,6 +96,7 @@ fs::absolute(const path& p, error_code& ec)
}
#ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
+ // s must remain null-terminated
wstring_view s = p.native();
if (p.has_root_directory()) // implies !p.has_root_name()
@@ -108,9 +109,6 @@ fs::absolute(const path& p, error_code& ec)
s.remove_prefix(std::min(s.length(), pos) - 1);
}
- // s must be null-terminated
- __glibcxx_assert(!s.empty() && s.back() == 0);
-
uint32_t len = 1024;
wstring buf;
do