Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix compiling for 32-bit ARM platforms #204

Merged
merged 2 commits into from
Apr 6, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 51 additions & 5 deletions Sources/TSCUtility/FSWatch.swift
Original file line number Diff line number Diff line change
Expand Up @@ -428,11 +428,21 @@ public final class Inotify {
// FIXME: <rdar://problem/45794219> Swift should provide shims for FD_ macros

private func FD_ZERO(_ set: inout fd_set) {
#if os(Android)
set.fds_bits = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
#else
set.__fds_bits = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
#endif
#if os(Android)
#if arch(arm)
set.fds_bits = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
#else
set.fds_bits = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
#endif
#else
#if arch(arm)
set.__fds_bits = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
#else
set.__fds_bits = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
#endif
#endif
}

private func FD_SET(_ fd: Int32, _ set: inout fd_set) {
Expand Down Expand Up @@ -462,6 +472,24 @@ private func FD_SET(_ fd: Int32, _ set: inout fd_set) {
case 13: fd_bits.13 = fd_bits.13 | mask
case 14: fd_bits.14 = fd_bits.14 | mask
case 15: fd_bits.15 = fd_bits.15 | mask
#if arch(arm)
case 16: fd_bits.16 = fd_bits.16 | mask
case 17: fd_bits.17 = fd_bits.17 | mask
case 18: fd_bits.18 = fd_bits.18 | mask
case 19: fd_bits.19 = fd_bits.19 | mask
case 20: fd_bits.20 = fd_bits.20 | mask
case 21: fd_bits.21 = fd_bits.21 | mask
case 22: fd_bits.22 = fd_bits.22 | mask
case 23: fd_bits.23 = fd_bits.23 | mask
case 24: fd_bits.24 = fd_bits.24 | mask
case 25: fd_bits.25 = fd_bits.25 | mask
case 26: fd_bits.26 = fd_bits.26 | mask
case 27: fd_bits.27 = fd_bits.27 | mask
case 28: fd_bits.28 = fd_bits.28 | mask
case 29: fd_bits.29 = fd_bits.29 | mask
case 30: fd_bits.30 = fd_bits.30 | mask
case 31: fd_bits.31 = fd_bits.31 | mask
#endif
default: break
}
#if os(Android)
Expand Down Expand Up @@ -498,6 +526,24 @@ private func FD_ISSET(_ fd: Int32, _ set: inout fd_set) -> Bool {
case 13: return fd_bits.13 & mask != 0
case 14: return fd_bits.14 & mask != 0
case 15: return fd_bits.15 & mask != 0
#if arch(arm)
case 16: return fd_bits.16 & mask != 0
case 17: return fd_bits.17 & mask != 0
case 18: return fd_bits.18 & mask != 0
case 19: return fd_bits.19 & mask != 0
case 20: return fd_bits.20 & mask != 0
case 21: return fd_bits.21 & mask != 0
case 22: return fd_bits.22 & mask != 0
case 23: return fd_bits.23 & mask != 0
case 24: return fd_bits.24 & mask != 0
case 25: return fd_bits.25 & mask != 0
case 26: return fd_bits.26 & mask != 0
case 27: return fd_bits.27 & mask != 0
case 28: return fd_bits.28 & mask != 0
case 29: return fd_bits.29 & mask != 0
case 30: return fd_bits.30 & mask != 0
case 31: return fd_bits.31 & mask != 0
#endif
default: return false
}
}
Expand Down