@@ -127,15 +127,27 @@ s! {
127
127
size: [ u8 ; __SIZEOF_PTHREAD_RWLOCKATTR_T] ,
128
128
}
129
129
130
+ #[ cfg_attr( all( feature = "align" ,
131
+ target_env = "musl" ,
132
+ target_pointer_width = "32" ) ,
133
+ repr( align( 4 ) ) ) ]
134
+ #[ cfg_attr( all( feature = "align" ,
135
+ target_env = "musl" ,
136
+ target_pointer_width = "64" ) ,
137
+ repr( align( 8 ) ) ) ]
138
+ #[ cfg_attr( all( feature = "align" , not( target_env = "musl" ) ) ,
139
+ repr( align( 8 ) ) ) ]
130
140
pub struct pthread_cond_t {
131
- #[ cfg( any ( target_env = "musl" ) ) ]
141
+ #[ cfg( all ( not ( feature = "align" ) , target_env = "musl" ) ) ]
132
142
__align: [ * const :: c_void; 0 ] ,
133
- #[ cfg( not( any( target_env = "musl" ) ) ) ]
143
+ #[ cfg( not( any( feature = "align" , target_env = "musl" ) ) ) ]
134
144
__align: [ :: c_longlong; 0 ] ,
135
145
size: [ u8 ; __SIZEOF_PTHREAD_COND_T] ,
136
146
}
137
147
148
+ #[ cfg_attr( feature = "align" , repr( align( 4 ) ) ) ]
138
149
pub struct pthread_condattr_t {
150
+ #[ cfg( not( feature = "align" ) ) ]
139
151
__align: [ :: c_int; 0 ] ,
140
152
size: [ u8 ; __SIZEOF_PTHREAD_CONDATTR_T] ,
141
153
}
@@ -796,10 +808,18 @@ pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
796
808
__align : [ ] ,
797
809
size : [ 0 ; __SIZEOF_PTHREAD_MUTEX_T] ,
798
810
} ;
799
- pub const PTHREAD_COND_INITIALIZER : pthread_cond_t = pthread_cond_t {
800
- __align : [ ] ,
801
- size : [ 0 ; __SIZEOF_PTHREAD_COND_T] ,
802
- } ;
811
+ cfg_if ! {
812
+ if #[ cfg( feature = "align" ) ] {
813
+ pub const PTHREAD_COND_INITIALIZER : pthread_cond_t = pthread_cond_t {
814
+ size: [ 0 ; __SIZEOF_PTHREAD_COND_T] ,
815
+ } ;
816
+ } else {
817
+ pub const PTHREAD_COND_INITIALIZER : pthread_cond_t = pthread_cond_t {
818
+ __align: [ ] ,
819
+ size: [ 0 ; __SIZEOF_PTHREAD_COND_T] ,
820
+ } ;
821
+ }
822
+ }
803
823
pub const PTHREAD_RWLOCK_INITIALIZER : pthread_rwlock_t = pthread_rwlock_t {
804
824
__align : [ ] ,
805
825
size : [ 0 ; __SIZEOF_PTHREAD_RWLOCK_T] ,
0 commit comments