Skip to content
Snippets Groups Projects
  1. Mar 04, 2019
  2. Feb 13, 2019
  3. Feb 07, 2019
    • gnzlbg's avatar
      Fix build on all platforms · a17a91cd
      gnzlbg authored
      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 .
      a17a91cd
  4. Feb 02, 2019
  5. Jan 23, 2019
  6. Jan 14, 2019
  7. Jan 02, 2019
  8. Dec 10, 2018
  9. Nov 26, 2018
  10. Nov 22, 2018
  11. Nov 21, 2018
    • Alex Crichton's avatar
      Prepare for being included via crates.io into std · 91bd079e
      Alex Crichton authored
      This commit prepares the `libc` crate to be included directly into the
      standard library via crates.io. More details about this can be found on
      rust-lang/rust#56092, but the main idea is that this crate now depends
      on core/compiler-builtins explicitly (but off-by-default).
      
      The main caveat here is that this activates `no_core` when building as
      part of libstd, which means that it needs to explicitly have an `iter`
      and `option` module for the expansion of `for` loops to work.
      91bd079e
  12. Nov 16, 2018
  13. Oct 26, 2018
  14. Sep 18, 2018
  15. Aug 05, 2018
  16. Jul 29, 2018
  17. Jun 01, 2018
  18. May 21, 2018
  19. Mar 19, 2018
  20. Mar 05, 2018
  21. Mar 03, 2018
  22. Feb 27, 2018
  23. Jan 11, 2018
  24. Jan 04, 2018
  25. Dec 27, 2017
  26. Nov 30, 2017
  27. Oct 28, 2017
  28. Oct 13, 2017
  29. Oct 06, 2017
    • Sébastien Marie's avatar
      bump to 0.2.32 · cf4c0bef
      Sébastien Marie authored
      - add DCCP constant definitions
      - add clock_gettime related functions to macOS
      - add fstatat64 on linux/android
      - add preadv64/pwritev64 on linux/android
      - add utimensat on solaris, netbsd and openbsd
      - add IP_BINDANY on freebsd
      cf4c0bef
  30. Sep 19, 2017
  31. Aug 27, 2017
  32. Aug 18, 2017
    • Alex Crichton's avatar
      Remove OpenBSD CI · 201d5394
      Alex Crichton authored
      It's now broken due to changes in the `gcc` crate and having a too-old compiler,
      and in general it's unfortunately architecturally so different from the other
      test frameworks that it's difficult to maintain over time.
      201d5394
  33. Jul 31, 2017
  34. Jul 24, 2017
  35. Jul 21, 2017
  36. Jul 07, 2017
  37. Jun 11, 2017
Loading