Skip to content
Snippets Groups Projects
  1. Feb 29, 2020
  2. Feb 21, 2020
  3. Sep 16, 2019
  4. Sep 12, 2019
  5. May 29, 2019
  6. Feb 13, 2019
  7. 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
  8. Feb 03, 2019
  9. Dec 10, 2018
  10. Nov 23, 2018
  11. Nov 21, 2018
  12. Jan 09, 2018
  13. Jan 07, 2018
    • Ed Schouten's avatar
      Add time_t for CloudABI. · 63bb3f48
      Ed Schouten authored
      Even though this data type is not used by libstd in any platform
      independent code, one of the unit tests in src/libstd/time/mod.rs refers
      to it. Instead of making that unit test more complicated, simply add
      time_t, matching the type used by the C library.
      63bb3f48
  14. Jan 02, 2018
    • Ed Schouten's avatar
      Add _SC_NPROCESSORS_ONLN for CloudABI. · bbaf0426
      Ed Schouten authored
      This constant is not used by the C library, which is why I didn't add it
      initially. It is, however, used by libtest to determine the parallelism
      for the execution of tests.
      bbaf0426
  15. Dec 28, 2017
  16. Dec 27, 2017
Loading