1 macro_rules! expand_align { 2 () => { 3 s! { 4 #[cfg_attr(any(target_pointer_width = "32", 5 target_arch = "x86_64", 6 target_arch = "powerpc64", 7 target_arch = "mips64", 8 target_arch = "s390x", 9 target_arch = "sparc64", 10 target_arch = "aarch64"), 11 repr(align(4)))] 12 #[cfg_attr(not(any(target_pointer_width = "32", 13 target_arch = "x86_64", 14 target_arch = "powerpc64", 15 target_arch = "mips64", 16 target_arch = "s390x", 17 target_arch = "sparc64", 18 target_arch = "aarch64")), 19 repr(align(8)))] 20 pub struct pthread_mutexattr_t { 21 #[doc(hidden)] 22 size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], 23 } 24 25 #[cfg_attr(any(target_env = "musl", target_pointer_width = "32"), 26 repr(align(4)))] 27 #[cfg_attr(all(not(target_env = "musl"), 28 target_pointer_width = "64"), 29 repr(align(8)))] 30 pub struct pthread_rwlockattr_t { 31 #[doc(hidden)] 32 size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], 33 } 34 35 #[repr(align(4))] 36 pub struct pthread_condattr_t { 37 #[doc(hidden)] 38 size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], 39 } 40 } 41 42 s_no_extra_traits! { 43 #[cfg_attr(all(target_env = "musl", 44 target_pointer_width = "32"), 45 repr(align(4)))] 46 #[cfg_attr(all(target_env = "musl", 47 target_pointer_width = "64"), 48 repr(align(8)))] 49 #[cfg_attr(all(not(target_env = "musl"), 50 target_arch = "x86"), 51 repr(align(4)))] 52 #[cfg_attr(all(not(target_env = "musl"), 53 not(target_arch = "x86")), 54 repr(align(8)))] 55 pub struct pthread_cond_t { 56 #[doc(hidden)] 57 size: [u8; ::__SIZEOF_PTHREAD_COND_T], 58 } 59 60 #[cfg_attr(all(target_pointer_width = "32", 61 any(target_arch = "mips", 62 target_arch = "arm", 63 target_arch = "hexagon", 64 target_arch = "powerpc", 65 target_arch = "sparc", 66 target_arch = "x86_64", 67 target_arch = "x86")), 68 repr(align(4)))] 69 #[cfg_attr(any(target_pointer_width = "64", 70 not(any(target_arch = "mips", 71 target_arch = "arm", 72 target_arch = "hexagon", 73 target_arch = "powerpc", 74 target_arch = "sparc", 75 target_arch = "x86_64", 76 target_arch = "x86"))), 77 repr(align(8)))] 78 pub struct pthread_mutex_t { 79 #[doc(hidden)] 80 size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], 81 } 82 83 #[cfg_attr(all(target_pointer_width = "32", 84 any(target_arch = "mips", 85 target_arch = "arm", 86 target_arch = "hexagon", 87 target_arch = "powerpc", 88 target_arch = "sparc", 89 target_arch = "x86_64", 90 target_arch = "x86")), 91 repr(align(4)))] 92 #[cfg_attr(any(target_pointer_width = "64", 93 not(any(target_arch = "mips", 94 target_arch = "arm", 95 target_arch = "hexagon", 96 target_arch = "powerpc", 97 target_arch = "sparc", 98 target_arch = "x86_64", 99 target_arch = "x86"))), 100 repr(align(8)))] 101 pub struct pthread_rwlock_t { 102 size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], 103 } 104 } 105 }; 106 } 107