Commit Graph

26 Commits

Author SHA1 Message Date
Yuki Okushi 3fae7e9ce7 Fix style 2021-04-06 10:10:29 +09:00
Basix 1bd882e910 Add execl* functions on Windows 2020-08-12 20:12:33 +09:00
kellda 32b1303947 Add "_aligned_malloc" on windows platform 2020-07-25 20:21:35 +00:00
Bill Fraser 775c52e669 add wexecv, wexecve, wexecvp, wexecvpe 2020-06-26 11:28:12 -07:00
Lzu Tao 0327cc0b3c Remove MSVC's wmemchr declaration 2020-03-18 11:57:28 +07:00
Yuki Okushi 483bb8171f Replace TODO with FIXME to make grep easy 2020-02-29 13:36:27 +09:00
Lzu Tao 723a2c7d87 add wmemchr to all platforms support memchr 2020-02-21 10:42:15 +07:00
Noah Gold 92d47c8a53 Add FFI bindings for libc's gmttime_s. 2020-02-19 15:57:50 -08:00
mikehoyle 3ecdafbde8 Updating for formatting _time64, and gnu test failures 2019-10-24 13:59:53 -07:00
mikehoyle 785a60c4d2 Add a few functions & POSIX error codes to Windows API 2019-10-23 14:18:27 -07:00
bors 49c1d138e3 Auto merge of #1513 - mulimoen:master, r=gnzlbg
add isblank

Fixes #1509
2019-09-16 18:15:40 +00:00
Magnus Ulimoen e7f11345d1 add isblank 2019-09-16 17:54:13 +02:00
gnzlbg 939a2e5a3a Formatting 2019-09-12 15:12:33 +02:00
gnzlbg 08a4519714 Refactor fixed-width integer types into its own module 2019-05-29 13:05:49 +02:00
gnzlbg 7ac0fe53eb Cleanup dox mess 2019-02-13 14:48:50 +01:00
gnzlbg a17a91cdbf Fix build on all platforms
This PR fixes the build on all platforms and all Rust version down to the
minimum Rust version supported by libc: Rust 1.13.0.

The `build.rs` is extended with logic to detect the newer Rust features used by
`libc` since Rust 1.13.0:

* Rust 1.19.0: `untagged_unions`. APIs using untagged unions are gated on
  `cfg(libc_unions)` and not available on older Rust versions.

* Rust 1.25.0: `repr(align)`. Because `repr(align)` cannot be parsed by older
  Rust versions, all uses of `repr(align)` are split into `align.rs` and
  `no_align.rs` modules, which are gated on the `cfg(libc_align)` at the top
  level. These modules sometimes contain macros that are expanded at the top
  level to avoid privacy issues (`pub(crate)` is not available in older Rust
  versions). Closes #1242 .

* Rust : `const` `mem::size_of`. These uses are worked around with hardcoded
  constants on older Rust versions.

Also, `repr(packed)` structs cannot automatically `derive()` some traits like
`Debug`. These have been moved into `s_no_extra_traits!` and the lint of missing
`Debug` implementations on public items is silenced for these. We can manually
implement the `extra_traits` for these in a follow up PR. This is tracked
in #1243. Also, `extra_traits` does not enable `align` manually anymore.

Since `f64::to_bits` is not available in older Rust versions, its usage
has been replaced with a `transmute` to an `u64` which is what that method
does under the hood.

Closes #1232 .
2019-02-07 13:44:32 +01:00
Bryant Mairs f3684584c9 Check for Copy impls for all types 2019-02-02 16:32:00 -08:00
Bryant Mairs fa9cb78b4a Check for Debug impls for all types
This was not compile-tested on all platforms, but instead all `pub enum`
types had a `Debug` impl derived for them.
2019-02-02 16:32:00 -08:00
bors a4d41775f3 Auto merge of #1183 - xmclark:make-tm-members-public-windows, r=gnzlbg
make tm struct members public

This PR makes the members of `struct tm` public.

I see no reason why these fields should not be public fields. They are public in the other targets. I did a blame and it seems that they have been private since added a couple years ago.

53e0d387f8
2018-12-24 18:40:18 +00:00
Mackenzie Clark 1da1ffe0de make tm struct members public 2018-12-23 13:26:14 -08:00
Mackenzie Clark b9d86a6e8a use the correct calling convention with extern "system" 2018-12-23 12:41:15 -08:00
Mackenzie Clark a79a73f8bf add some socket functions and a SOCKET type 2018-12-22 23:37:53 -08:00
Mackenzie Clark af19934f29 normalize to common name sighandler_t 2018-12-17 19:31:31 -08:00
Mackenzie Clark 4c32b9f4b9 move everything back into window mod with the type alias for msvc 2018-12-17 17:57:37 -08:00
Tom Parker-Shemilt 75071fe11f Merge branch 'master' into strcase-various 2018-11-23 22:35:16 +00:00
Tom Parker-Shemilt cd6b95db83 Split out windows strcase* work into gnu/msvc files 2018-11-23 22:33:20 +00:00