diff options
author | Sylvestre Ledru <sylvestre@debian.org> | 2018-10-23 07:13:47 +0000 |
---|---|---|
committer | Sylvestre Ledru <sylvestre@debian.org> | 2018-10-23 07:13:47 +0000 |
commit | f4719c4d2cdacc8b1a9ade43d93326ddd3b97450 (patch) | |
tree | 94298859a396cf2067a11ae38dc7101358866258 /llvm/lib/Support/Unix/Path.inc | |
parent | e133c7867ef042504e96d624a8704d7690fb0999 (diff) | |
download | bcm5719-llvm-f4719c4d2cdacc8b1a9ade43d93326ddd3b97450.tar.gz bcm5719-llvm-f4719c4d2cdacc8b1a9ade43d93326ddd3b97450.zip |
Add support for GNU Hurd in Path.inc and other places
Summary: Patch by Svante Signell & myself
Reviewers: rnk, JDevlieghere, efriedma
Reviewed By: efriedma
Subscribers: efriedma, JDevlieghere, krytarowski, llvm-commits, kristina
Differential Revision: https://reviews.llvm.org/D53409
llvm-svn: 345007
Diffstat (limited to 'llvm/lib/Support/Unix/Path.inc')
-rw-r--r-- | llvm/lib/Support/Unix/Path.inc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc index ec3eecb2947..0f61e94145e 100644 --- a/llvm/lib/Support/Unix/Path.inc +++ b/llvm/lib/Support/Unix/Path.inc @@ -49,6 +49,7 @@ // For GNU Hurd #if defined(__GNU__) && !defined(PATH_MAX) # define PATH_MAX 4096 +# define MAXPATHLEN 4096 #endif #include <sys/types.h> @@ -82,7 +83,7 @@ #define STATVFS_F_FRSIZE(vfs) static_cast<uint64_t>(vfs.f_bsize) #endif -#if defined(__NetBSD__) +#if defined(__NetBSD__) || defined(__GNU__) #define STATVFS_F_FLAG(vfs) (vfs).f_flag #else #define STATVFS_F_FLAG(vfs) (vfs).f_flags @@ -98,7 +99,7 @@ const file_t kInvalidFile = -1; #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \ defined(__minix) || defined(__FreeBSD_kernel__) || defined(__linux__) || \ - defined(__CYGWIN__) || defined(__DragonFly__) || defined(_AIX) + defined(__CYGWIN__) || defined(__DragonFly__) || defined(_AIX) || defined(__GNU__) static int test_dir(char ret[PATH_MAX], const char *dir, const char *bin) { @@ -347,7 +348,7 @@ std::error_code remove(const Twine &path, bool IgnoreNonExisting) { } static bool is_local_impl(struct STATVFS &Vfs) { -#if defined(__linux__) +#if defined(__linux__) || defined(__GNU__) #ifndef NFS_SUPER_MAGIC #define NFS_SUPER_MAGIC 0x6969 #endif @@ -357,7 +358,11 @@ static bool is_local_impl(struct STATVFS &Vfs) { #ifndef CIFS_MAGIC_NUMBER #define CIFS_MAGIC_NUMBER 0xFF534D42 #endif +#ifdef __GNU__ + switch ((uint32_t)Vfs.__f_type) { +#else switch ((uint32_t)Vfs.f_type) { +#endif case NFS_SUPER_MAGIC: case SMB_SUPER_MAGIC: case CIFS_MAGIC_NUMBER: |