diff options
author | Daniel Mueller <deso@posteo.net> | 2019-08-15 08:11:13 -0700 |
---|---|---|
committer | Daniel Mueller <deso@posteo.net> | 2019-08-15 08:11:13 -0700 |
commit | 99234b3e77889e370a24657aee729d43ff457156 (patch) | |
tree | b556715d14a4294c9bdeb11a8d0289172ccd84ac /libc/src/unix/linux_like/emscripten/no_align.rs | |
parent | 5e380138e7fa45997565cdcec51e913c471db431 (diff) | |
download | nitrocli-99234b3e77889e370a24657aee729d43ff457156.tar.gz nitrocli-99234b3e77889e370a24657aee729d43ff457156.tar.bz2 |
Update libc crate to 0.2.62
This change updates the libc crate to version 0.2.62.
Import subrepo libc/:libc at 37f8f8dc233a79ea9cc89b102aa30ff6e402fe94
Diffstat (limited to 'libc/src/unix/linux_like/emscripten/no_align.rs')
-rw-r--r-- | libc/src/unix/linux_like/emscripten/no_align.rs | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/libc/src/unix/linux_like/emscripten/no_align.rs b/libc/src/unix/linux_like/emscripten/no_align.rs new file mode 100644 index 0000000..ece4dff --- /dev/null +++ b/libc/src/unix/linux_like/emscripten/no_align.rs @@ -0,0 +1,63 @@ +macro_rules! expand_align { + () => { + s! { + pub struct pthread_mutex_t { + __align: [::c_long; 0], + size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], + } + + pub struct pthread_rwlock_t { + __align: [::c_long; 0], + size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], + } + + pub struct pthread_mutexattr_t { + __align: [::c_int; 0], + size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], + } + + pub struct pthread_rwlockattr_t { + __align: [::c_int; 0], + size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], + } + + pub struct pthread_condattr_t { + __align: [::c_int; 0], + size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], + } + } + + s_no_extra_traits! { + pub struct pthread_cond_t { + __align: [*const ::c_void; 0], + size: [u8; ::__SIZEOF_PTHREAD_COND_T], + } + } + + cfg_if! { + if #[cfg(feature = "extra_traits")] { + impl PartialEq for pthread_cond_t { + fn eq(&self, other: &pthread_cond_t) -> bool { + self.size + .iter() + .zip(other.size.iter()) + .all(|(a,b)| a == b) + } + } + impl Eq for pthread_cond_t {} + impl ::fmt::Debug for pthread_cond_t { + fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { + f.debug_struct("pthread_cond_t") + // FIXME: .field("size", &self.size) + .finish() + } + } + impl ::hash::Hash for pthread_cond_t { + fn hash<H: ::hash::Hasher>(&self, state: &mut H) { + self.size.hash(state); + } + } + } + } + } +} |