]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix filesystem build for Windows
authorJonathan Wakely <jwakely@redhat.com>
Tue, 28 Jun 2022 11:56:19 +0000 (12:56 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 28 Jun 2022 11:58:18 +0000 (12:58 +0100)
I only half remembered to use char_type instead of char for filesystem
paths, so that it works with wchar_t on Windows. This fixes the
bootstrap failure.

libstdc++-v3/ChangeLog:

* src/filesystem/dir-common.h (_Dir_base::_At_path):
Use char_type consistently for paths.

libstdc++-v3/src/filesystem/dir-common.h

index 4844b1ac4532667fd1a360e23435164e277c2d4c..228fab55afbcf1c391fe81705721ca3e0639ceed 100644 (file)
@@ -99,18 +99,22 @@ struct _Dir_base
   struct _At_path
   {
     // No file descriptor given, so interpret the pathname relative to the CWD.
-    _At_path(const char* p) noexcept
+    _At_path(const posix::char_type* p) noexcept
     : pathname(p), dir_fd(fdcwd()), offset(0)
     { }
 
-    _At_path(int fd, const char* p, size_t offset) noexcept
+    _At_path(int fd, const posix::char_type* p, size_t offset) noexcept
     : pathname(p), dir_fd(fd), offset(offset)
     { }
 
-    const char* path() const noexcept { return pathname; }
+    const posix::char_type*
+    path() const noexcept { return pathname; }
 
-    int dir() const noexcept { return dir_fd; }
-    const char* path_at_dir() const noexcept { return pathname + offset; }
+    int
+    dir() const noexcept { return dir_fd; }
+
+    const posix::char_type*
+    path_at_dir() const noexcept { return pathname + offset; }
 
   private:
     const posix::char_type* pathname; // Full path relative to CWD.