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
commit155f9b7e7f36975240ef93f3daf983b228592a11 (patch)
treeb407ef697d1241cdbc46bc0b5a8545c63a7bafad /libc/src/unix/linux_like/emscripten/align.rs
parent49f5194e16db47b6de9847b79840c6fe35e0df8c (diff)
downloadnitrocli-155f9b7e7f36975240ef93f3daf983b228592a11.tar.gz
nitrocli-155f9b7e7f36975240ef93f3daf983b228592a11.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);
+ }
+ }
+ }
+ }
+ }
+}