mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-07 04:40:11 +00:00

Currently we whether or not to build and test `f16` and `f128` support mostly based on the target triple. This isn't always accurate, however, since support also varies by backend and the backend version. Since recently, `rustc` is aware of this with the unstable config option `target_has_reliable_{f16,f128}`, which better represents when the types are actually expected to be available and usable. Switch our compiler-builtins and libm configuration to use this by probing `rustc` for the target's settings. A few small `cfg` fixes are needed with this.
compiler-builtins
and libm
This repository contains two main crates:
compiler-builtins
: symbols that the compiler expects to be available at link timelibm
: a Rust implementation of C math libraries, used to provide implementations incore
.
More details are at compiler-builtins/README.md and libm/README.md.
For instructions on contributing, see CONTRIBUTING.md.
License
libm
may be used under the MIT Licensecompiler-builtins
may be used under the MIT License and the Apache License, Version 2.0 with the LLVM exception.- All original contributions must be under all of: the MIT license, the Apache-2.0 license, and the Apache-2.0 license with the LLVM exception.
More details are in LICENSE.txt and libm/LICENSE.txt.