aboutsummaryrefslogtreecommitdiff
path: root/libc/src/unix/linux_like/emscripten/align.rs
diff options
context:
space:
mode:
authorDaniel Mueller <deso@posteo.net>2019-08-15 08:11:13 -0700
committerDaniel Mueller <deso@posteo.net>2019-08-15 08:11:13 -0700
commit99234b3e77889e370a24657aee729d43ff457156 (patch)
treeb556715d14a4294c9bdeb11a8d0289172ccd84ac /libc/src/unix/linux_like/emscripten/align.rs
parent5e380138e7fa45997565cdcec51e913c471db431 (diff)
downloadnitrocli-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/align.rs')
-rw-r--r--libc/src/unix/linux_like/emscripten/align.rs66
1 files changed, 66 insertions, 0 deletions
diff --git a/libc/src/unix/linux_like/emscripten/align.rs b/libc/src/unix/linux_like/emscripten/align.rs
new file mode 100644
index 0000000..26a49b2
--- /dev/null
+++ b/libc/src/unix/linux_like/emscripten/align.rs
@@ -0,0 +1,66 @@
+macro_rules! expand_align {
+ () => {
+ s! {
+ #[repr(align(4))]
+ pub struct pthread_mutex_t {
+ size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T],
+ }
+
+ #[repr(align(4))]
+ pub struct pthread_rwlock_t {
+ size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T],
+ }
+
+ #[repr(align(4))]
+ pub struct pthread_mutexattr_t {
+ size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T],
+ }
+
+ #[repr(align(4))]
+ pub struct pthread_rwlockattr_t {
+ size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T],
+ }
+
+ #[repr(align(4))]
+ pub struct pthread_condattr_t {
+ size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T],
+ }
+ }
+
+ s_no_extra_traits! {
+ #[cfg_attr(target_pointer_width = "32",
+ repr(align(4)))]
+ #[cfg_attr(target_pointer_width = "64",
+ repr(align(8)))]
+ pub struct pthread_cond_t {
+ 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);
+ }
+ }
+ }
+ }
+ }
+}