1 macro_rules! expand_align {
2     () => {
3         s! {
4             #[cfg_attr(all(target_pointer_width = "32",
5                            any(target_arch = "mips",
6                                target_arch = "arm",
7                                target_arch = "powerpc")),
8                        repr(align(4)))]
9             #[cfg_attr(any(target_pointer_width = "64",
10                            not(any(target_arch = "mips",
11                                    target_arch = "arm",
12                                    target_arch = "powerpc"))),
13                        repr(align(8)))]
14             pub struct pthread_mutex_t {
15                 size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T],
16             }
17 
18             #[cfg_attr(all(target_pointer_width = "32",
19                            any(target_arch = "mips",
20                                target_arch = "arm",
21                                target_arch = "powerpc")),
22                        repr(align(4)))]
23             #[cfg_attr(any(target_pointer_width = "64",
24                            not(any(target_arch = "mips",
25                                    target_arch = "arm",
26                                    target_arch = "powerpc"))),
27                        repr(align(8)))]
28             pub struct pthread_rwlock_t {
29                 size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T],
30             }
31 
32             #[cfg_attr(any(target_pointer_width = "32",
33                            target_arch = "x86_64",
34                            target_arch = "powerpc64",
35                            target_arch = "mips64",
36                            target_arch = "s390x",
37                            target_arch = "sparc64"),
38                        repr(align(4)))]
39             #[cfg_attr(not(any(target_pointer_width = "32",
40                                target_arch = "x86_64",
41                                target_arch = "powerpc64",
42                                target_arch = "mips64",
43                                target_arch = "s390x",
44                                target_arch = "sparc64")),
45                        repr(align(8)))]
46             pub struct pthread_mutexattr_t {
47                 size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T],
48             }
49 
50             #[repr(align(8))]
51             pub struct pthread_cond_t {
52                 size: [u8; ::__SIZEOF_PTHREAD_COND_T],
53             }
54 
55             #[repr(align(4))]
56             pub struct pthread_condattr_t {
57                 size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T],
58             }
59         }
60     }
61 }
62