Merge from rustc
This commit is contained in:
commit
f356f2f203
83 changed files with 852 additions and 270 deletions
|
|
@ -145,6 +145,9 @@ impl f128 {
|
|||
pub const RADIX: u32 = 2;
|
||||
|
||||
/// Number of significant digits in base 2.
|
||||
///
|
||||
/// Note that the size of the mantissa in the bitwise representation is one
|
||||
/// smaller than this since the leading 1 is not stored explicitly.
|
||||
#[unstable(feature = "f128", issue = "116909")]
|
||||
pub const MANTISSA_DIGITS: u32 = 113;
|
||||
|
||||
|
|
|
|||
|
|
@ -140,6 +140,9 @@ impl f16 {
|
|||
pub const RADIX: u32 = 2;
|
||||
|
||||
/// Number of significant digits in base 2.
|
||||
///
|
||||
/// Note that the size of the mantissa in the bitwise representation is one
|
||||
/// smaller than this since the leading 1 is not stored explicitly.
|
||||
#[unstable(feature = "f16", issue = "116909")]
|
||||
pub const MANTISSA_DIGITS: u32 = 11;
|
||||
|
||||
|
|
|
|||
|
|
@ -390,6 +390,9 @@ impl f32 {
|
|||
pub const RADIX: u32 = 2;
|
||||
|
||||
/// Number of significant digits in base 2.
|
||||
///
|
||||
/// Note that the size of the mantissa in the bitwise representation is one
|
||||
/// smaller than this since the leading 1 is not stored explicitly.
|
||||
#[stable(feature = "assoc_int_consts", since = "1.43.0")]
|
||||
pub const MANTISSA_DIGITS: u32 = 24;
|
||||
|
||||
|
|
|
|||
|
|
@ -390,6 +390,9 @@ impl f64 {
|
|||
pub const RADIX: u32 = 2;
|
||||
|
||||
/// Number of significant digits in base 2.
|
||||
///
|
||||
/// Note that the size of the mantissa in the bitwise representation is one
|
||||
/// smaller than this since the leading 1 is not stored explicitly.
|
||||
#[stable(feature = "assoc_int_consts", since = "1.43.0")]
|
||||
pub const MANTISSA_DIGITS: u32 = 53;
|
||||
/// Approximate number of significant digits in base 10.
|
||||
|
|
|
|||
|
|
@ -415,6 +415,7 @@ impl Command {
|
|||
all(target_os = "linux", target_env = "musl"),
|
||||
target_os = "nto",
|
||||
target_vendor = "apple",
|
||||
target_os = "cygwin",
|
||||
)))]
|
||||
fn posix_spawn(
|
||||
&mut self,
|
||||
|
|
@ -433,6 +434,7 @@ impl Command {
|
|||
all(target_os = "linux", target_env = "musl"),
|
||||
target_os = "nto",
|
||||
target_vendor = "apple",
|
||||
target_os = "cygwin",
|
||||
))]
|
||||
fn posix_spawn(
|
||||
&mut self,
|
||||
|
|
@ -584,7 +586,7 @@ impl Command {
|
|||
/// Some platforms can set a new working directory for a spawned process in the
|
||||
/// `posix_spawn` path. This function looks up the function pointer for adding
|
||||
/// such an action to a `posix_spawn_file_actions_t` struct.
|
||||
#[cfg(not(all(target_os = "linux", target_env = "musl")))]
|
||||
#[cfg(not(any(all(target_os = "linux", target_env = "musl"), target_os = "cygwin")))]
|
||||
fn get_posix_spawn_addchdir() -> Option<PosixSpawnAddChdirFn> {
|
||||
use crate::sys::weak::weak;
|
||||
|
||||
|
|
@ -618,7 +620,9 @@ impl Command {
|
|||
/// Weak symbol lookup doesn't work with statically linked libcs, so in cases
|
||||
/// where static linking is possible we need to either check for the presence
|
||||
/// of the symbol at compile time or know about it upfront.
|
||||
#[cfg(all(target_os = "linux", target_env = "musl"))]
|
||||
///
|
||||
/// Cygwin doesn't support weak symbol, so just link it.
|
||||
#[cfg(any(all(target_os = "linux", target_env = "musl"), target_os = "cygwin"))]
|
||||
fn get_posix_spawn_addchdir() -> Option<PosixSpawnAddChdirFn> {
|
||||
// Our minimum required musl supports this function, so we can just use it.
|
||||
Some(libc::posix_spawn_file_actions_addchdir_np)
|
||||
|
|
|
|||
|
|
@ -112,6 +112,8 @@ fn test_nan() {
|
|||
assert!(!nan.is_sign_negative());
|
||||
assert!(!nan.is_normal());
|
||||
assert_eq!(Fp::Nan, nan.classify());
|
||||
// Ensure the quiet bit is set.
|
||||
assert!(nan.to_bits() & (1 << (f128::MANTISSA_DIGITS - 2)) != 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
|||
|
|
@ -95,6 +95,8 @@ fn test_nan() {
|
|||
assert!(!nan.is_sign_negative());
|
||||
assert!(!nan.is_normal());
|
||||
assert_eq!(Fp::Nan, nan.classify());
|
||||
// Ensure the quiet bit is set.
|
||||
assert!(nan.to_bits() & (1 << (f16::MANTISSA_DIGITS - 2)) != 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
|||
|
|
@ -72,6 +72,8 @@ fn test_nan() {
|
|||
assert!(nan.is_sign_positive());
|
||||
assert!(!nan.is_sign_negative());
|
||||
assert_eq!(Fp::Nan, nan.classify());
|
||||
// Ensure the quiet bit is set.
|
||||
assert!(nan.to_bits() & (1 << (f32::MANTISSA_DIGITS - 2)) != 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ fn test_nan() {
|
|||
assert!(nan.is_sign_positive());
|
||||
assert!(!nan.is_sign_negative());
|
||||
assert_eq!(Fp::Nan, nan.classify());
|
||||
// Ensure the quiet bit is set.
|
||||
assert!(nan.to_bits() & (1 << (f64::MANTISSA_DIGITS - 2)) != 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue