diff options
| author | oxalica <oxalicc@pm.me> | 2020-01-08 14:18:42 +0800 |
|---|---|---|
| committer | oxalica <oxalicc@pm.me> | 2020-01-08 14:21:27 +0800 |
| commit | f5baa03af0da7aa565190ae563291cd268998c83 (patch) | |
| tree | c10b13d846d78df5becb8f5d78cfedd7b3cbb7bd /src/libstd | |
| parent | 637793a1999f46d10c9567f302ca211385702224 (diff) | |
| download | rust-f5baa03af0da7aa565190ae563291cd268998c83.tar.gz rust-f5baa03af0da7aa565190ae563291cd268998c83.zip | |
Try statx for all linux-gnu targets
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/sys/unix/fs.rs | 34 |
1 files changed, 6 insertions, 28 deletions
diff --git a/src/libstd/sys/unix/fs.rs b/src/libstd/sys/unix/fs.rs index 4fa9095c899..ab2a871b92d 100644 --- a/src/libstd/sys/unix/fs.rs +++ b/src/libstd/sys/unix/fs.rs @@ -51,24 +51,14 @@ pub use crate::sys_common::fs::remove_dir_all; pub struct File(FileDesc); -// FIXME: This should be available on Linux with all `target_arch` and `target_env`. -// https://github.com/rust-lang/libc/issues/1545 +// FIXME: This should be available on Linux with all `target_env`. +// But currently only glibc exposes `statx` fn and structs. +// We don't want to import unverified raw C structs here directly. +// https://github.com/rust-lang/rust/pull/67774 macro_rules! cfg_has_statx { ({ $($then_tt:tt)* } else { $($else_tt:tt)* }) => { cfg_if::cfg_if! { - if #[cfg(all(target_os = "linux", target_env = "gnu", any( - target_arch = "x86", - target_arch = "arm", - // target_arch = "mips", - target_arch = "powerpc", - target_arch = "x86_64", - // target_arch = "aarch64", - target_arch = "powerpc64", - // target_arch = "mips64", - // target_arch = "s390x", - target_arch = "sparc64", - target_arch = "riscv64", - )))] { + if #[cfg(all(target_os = "linux", target_env = "gnu"))] { $($then_tt)* } else { $($else_tt)* @@ -76,19 +66,7 @@ macro_rules! cfg_has_statx { } }; ($($block_inner:tt)*) => { - #[cfg(all(target_os = "linux", target_env = "gnu", any( - target_arch = "x86", - target_arch = "arm", - // target_arch = "mips", - target_arch = "powerpc", - target_arch = "x86_64", - // target_arch = "aarch64", - target_arch = "powerpc64", - // target_arch = "mips64", - // target_arch = "s390x", - target_arch = "sparc64", - target_arch = "riscv64", - )))] + #[cfg(all(target_os = "linux", target_env = "gnu"))] { $($block_inner)* } |
