@@ -182,15 +182,6 @@ fn test_apple(target: &str) {
182
182
[ x86_64] : "crt_externs.h" ,
183
183
}
184
184
185
- cfg. skip_struct ( move |ty| {
186
- match ty {
187
- // FIXME: actually a union
188
- "sigval" => true ,
189
-
190
- _ => false ,
191
- }
192
- } ) ;
193
-
194
185
cfg. skip_const ( move |name| {
195
186
match name {
196
187
// These OSX constants are removed in Sierra.
@@ -231,14 +222,6 @@ fn test_apple(target: &str) {
231
222
}
232
223
} ) ;
233
224
234
- cfg. skip_field_type ( move |struct_, field| {
235
- match ( struct_, field) {
236
- // FIXME: actually a union
237
- ( "sigevent" , "sigev_value" ) => true ,
238
- _ => false ,
239
- }
240
- } ) ;
241
-
242
225
cfg. volatile_item ( |i| {
243
226
use ctest:: VolatileItemKind :: * ;
244
227
match i {
@@ -363,15 +346,6 @@ fn test_openbsd(target: &str) {
363
346
"sys/shm.h" ,
364
347
}
365
348
366
- cfg. skip_struct ( move |ty| {
367
- match ty {
368
- // FIXME: actually a union
369
- "sigval" => true ,
370
-
371
- _ => false ,
372
- }
373
- } ) ;
374
-
375
349
cfg. skip_const ( move |name| {
376
350
match name {
377
351
// Removed in OpenBSD 6.0
@@ -741,8 +715,6 @@ fn test_solarish(target: &str) {
741
715
return true ;
742
716
}
743
717
match ty {
744
- // union, not a struct
745
- "sigval" => true ,
746
718
// a bunch of solaris-only fields
747
719
"utmpx" if is_illumos => true ,
748
720
_ => false ,
@@ -757,8 +729,6 @@ fn test_solarish(target: &str) {
757
729
"sigaction" if field == "sa_sigaction" => true ,
758
730
// Missing in illumos
759
731
"sigevent" if field == "ss_sp" => true ,
760
- // Avoid sigval union issues
761
- "sigevent" if field == "sigev_value" => true ,
762
732
// const issues
763
733
"sigevent" if field == "sigev_notify_attributes" => true ,
764
734
@@ -941,8 +911,6 @@ fn test_netbsd(target: &str) {
941
911
942
912
cfg. skip_struct ( move |ty| {
943
913
match ty {
944
- // This is actually a union, not a struct
945
- "sigval" => true ,
946
914
// These are tested as part of the linux_fcntl tests since there are
947
915
// header conflicts when including them with all the other structs.
948
916
"termios2" => true ,
@@ -1012,8 +980,6 @@ fn test_netbsd(target: &str) {
1012
980
( struct_ == "ifaddrs" && field == "ifa_ifu" ) ||
1013
981
// sighandler_t type is super weird
1014
982
( struct_ == "sigaction" && field == "sa_sigaction" ) ||
1015
- // sigval is actually a union, but we pretend it's a struct
1016
- ( struct_ == "sigevent" && field == "sigev_value" ) ||
1017
983
// aio_buf is "volatile void*" and Rust doesn't understand volatile
1018
984
( struct_ == "aiocb" && field == "aio_buf" )
1019
985
} ) ;
@@ -1153,9 +1119,6 @@ fn test_dragonflybsd(target: &str) {
1153
1119
1154
1120
cfg. skip_struct ( move |ty| {
1155
1121
match ty {
1156
- // This is actually a union, not a struct
1157
- "sigval" => true ,
1158
-
1159
1122
// FIXME: These are tested as part of the linux_fcntl tests since
1160
1123
// there are header conflicts when including them with all the other
1161
1124
// structs.
@@ -1219,8 +1182,6 @@ fn test_dragonflybsd(target: &str) {
1219
1182
( struct_ == "ifaddrs" && field == "ifa_ifu" ) ||
1220
1183
// sighandler_t type is super weird
1221
1184
( struct_ == "sigaction" && field == "sa_sigaction" ) ||
1222
- // sigval is actually a union, but we pretend it's a struct
1223
- ( struct_ == "sigevent" && field == "sigev_value" ) ||
1224
1185
// aio_buf is "volatile void*" and Rust doesn't understand volatile
1225
1186
( struct_ == "aiocb" && field == "aio_buf" )
1226
1187
} ) ;
@@ -1457,9 +1418,6 @@ fn test_android(target: &str) {
1457
1418
1458
1419
t if t. ends_with ( "_t" ) => t. to_string ( ) ,
1459
1420
1460
- // sigval is a struct in Rust, but a union in C:
1461
- "sigval" => format ! ( "union sigval" ) ,
1462
-
1463
1421
// put `struct` in front of all structs:.
1464
1422
t if is_struct => format ! ( "struct {}" , t) ,
1465
1423
@@ -1554,9 +1512,7 @@ fn test_android(target: &str) {
1554
1512
1555
1513
cfg. skip_field_type ( move |struct_, field| {
1556
1514
// This is a weird union, don't check the type.
1557
- ( struct_ == "ifaddrs" && field == "ifa_ifu" ) ||
1558
- // sigval is actually a union, but we pretend it's a struct
1559
- ( struct_ == "sigevent" && field == "sigev_value" )
1515
+ struct_ == "ifaddrs" && field == "ifa_ifu"
1560
1516
} ) ;
1561
1517
1562
1518
cfg. skip_field ( move |struct_, field| {
@@ -1697,9 +1653,6 @@ fn test_freebsd(target: &str) {
1697
1653
1698
1654
t if t. ends_with ( "_t" ) => t. to_string ( ) ,
1699
1655
1700
- // sigval is a struct in Rust, but a union in C:
1701
- "sigval" => format ! ( "union sigval" ) ,
1702
-
1703
1656
// put `struct` in front of all structs:.
1704
1657
t if is_struct => format ! ( "struct {}" , t) ,
1705
1658
@@ -2039,10 +1992,6 @@ fn test_emscripten(target: &str) {
2039
1992
2040
1993
cfg. skip_struct ( move |ty| {
2041
1994
match ty {
2042
- // This is actually a union, not a struct
2043
- // FIXME: is this necessary?
2044
- "sigval" => true ,
2045
-
2046
1995
// FIXME: It was removed in
2047
1996
// emscripten-core/emscripten@953e414
2048
1997
"pthread_mutexattr_t" => true ,
@@ -2091,9 +2040,6 @@ fn test_emscripten(target: &str) {
2091
2040
// sighandler_t type is super weird
2092
2041
// FIXME: is this necessary?
2093
2042
( struct_ == "sigaction" && field == "sa_sigaction" ) ||
2094
- // sigval is actually a union, but we pretend it's a struct
2095
- // FIXME: is this necessary?
2096
- ( struct_ == "sigevent" && field == "sigev_value" ) ||
2097
2043
// aio_buf is "volatile void*" and Rust doesn't understand volatile
2098
2044
// FIXME: is this necessary?
2099
2045
( struct_ == "aiocb" && field == "aio_buf" )
@@ -2222,10 +2168,8 @@ fn test_vxworks(target: &str) {
2222
2168
2223
2169
// FIXME
2224
2170
cfg. skip_fn ( move |name| match name {
2225
- // sigval
2226
- "sigqueue" | "_sigqueue"
2227
2171
// sighandler_t
2228
- | "signal"
2172
+ "signal"
2229
2173
// not used in static linking by default
2230
2174
| "dlerror" => true ,
2231
2175
_ => false ,
@@ -2516,9 +2460,6 @@ fn test_linux(target: &str) {
2516
2460
// which is absent in glibc, has to be defined.
2517
2461
"__timeval" => true ,
2518
2462
2519
- // FIXME: This is actually a union, not a struct
2520
- "sigval" => true ,
2521
-
2522
2463
// This type is tested in the `linux_termios.rs` file since there
2523
2464
// are header conflicts when including them with all the other
2524
2465
// structs.
@@ -2747,8 +2688,6 @@ fn test_linux(target: &str) {
2747
2688
( struct_ == "sigaction" && field == "sa_sigaction" ) ||
2748
2689
// __timeval type is a patch which doesn't exist in glibc
2749
2690
( struct_ == "utmpx" && field == "ut_tv" ) ||
2750
- // sigval is actually a union, but we pretend it's a struct
2751
- ( struct_ == "sigevent" && field == "sigev_value" ) ||
2752
2691
// this one is an anonymous union
2753
2692
( struct_ == "ff_effect" && field == "u" ) ||
2754
2693
// `__exit_status` type is a patch which is absent in musl
0 commit comments