mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-13 12:36:47 +00:00
Auto merge of #107879 - icedrocket:update-llvm, r=cuviper
Update LLVM submodule Fixes #105626
This commit is contained in:
commit
18caf88956
@ -11,6 +11,11 @@ fn parse(config: &str) -> Config {
|
||||
|
||||
#[test]
|
||||
fn download_ci_llvm() {
|
||||
if crate::native::is_ci_llvm_modified(&parse("")) {
|
||||
eprintln!("Detected LLVM as non-available: running in CI and modified LLVM in this change");
|
||||
return;
|
||||
}
|
||||
|
||||
let parse_llvm = |s| parse(s).llvm_from_ci;
|
||||
let if_available = parse_llvm("llvm.download-ci-llvm = \"if-available\"");
|
||||
|
||||
|
@ -216,21 +216,24 @@ pub(crate) fn is_ci_llvm_available(config: &Config, asserts: bool) -> bool {
|
||||
}
|
||||
}
|
||||
|
||||
if CiEnv::is_ci() {
|
||||
if is_ci_llvm_modified(config) {
|
||||
eprintln!("Detected LLVM as non-available: running in CI and modified LLVM in this change");
|
||||
return false;
|
||||
}
|
||||
|
||||
true
|
||||
}
|
||||
|
||||
/// Returns true if we're running in CI with modified LLVM (and thus can't download it)
|
||||
pub(crate) fn is_ci_llvm_modified(config: &Config) -> bool {
|
||||
CiEnv::is_ci() && {
|
||||
// We assume we have access to git, so it's okay to unconditionally pass
|
||||
// `true` here.
|
||||
let llvm_sha = detect_llvm_sha(config, true);
|
||||
let head_sha = output(config.git().arg("rev-parse").arg("HEAD"));
|
||||
let head_sha = head_sha.trim();
|
||||
if llvm_sha == head_sha {
|
||||
eprintln!(
|
||||
"Detected LLVM as non-available: running in CI and modified LLVM in this change"
|
||||
);
|
||||
return false;
|
||||
}
|
||||
llvm_sha == head_sha
|
||||
}
|
||||
|
||||
true
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 477e7285b12f876ad105188cfcfc8adda7dc29aa
|
||||
Subproject commit fd949f3034f8a422ecfffa889c2823485dde4bdd
|
17
tests/ui/numbers-arithmetic/issue-105626.rs
Normal file
17
tests/ui/numbers-arithmetic/issue-105626.rs
Normal file
@ -0,0 +1,17 @@
|
||||
// run-pass
|
||||
// only-x86
|
||||
// min-system-llvm-version: 16
|
||||
// compile-flags: -Ctarget-feature=+sse2
|
||||
|
||||
use std::hint::black_box;
|
||||
|
||||
fn main() {
|
||||
let n: i64 = black_box(0x3fffffdfffffff);
|
||||
let r = f32::from_bits(0x5a7fffff);
|
||||
|
||||
assert_ne!((n as f64) as f32, n as f32);
|
||||
|
||||
// FIXME: these assertions fail if only x87 is enabled
|
||||
assert_eq!(n as i64 as f32, r);
|
||||
assert_eq!(n as u64 as f32, r);
|
||||
}
|
Loading…
Reference in New Issue
Block a user