Auto merge of #118936 - nikic:update-llvm-18, r=cuviper
Update to LLVM 17.0.6 This is a rebase on the final LLVM 17 release. Includes the RISCV fix requested in https://github.com/rust-lang/llvm-project/pull/157 (and I think this is also the only change in this release that is relevant to rustc). r? `@cuviper` Fixes #117902
This commit is contained in:
commit
604f185fae
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -33,7 +33,7 @@
|
||||
[submodule "src/llvm-project"]
|
||||
path = src/llvm-project
|
||||
url = https://github.com/rust-lang/llvm-project.git
|
||||
branch = rustc/17.0-2023-09-19
|
||||
branch = rustc/17.0-2023-12-14
|
||||
shallow = true
|
||||
[submodule "src/doc/embedded-book"]
|
||||
path = src/doc/embedded-book
|
||||
|
@ -1795,8 +1795,7 @@ impl Config {
|
||||
config.llvm_link_shared.set(Some(true));
|
||||
}
|
||||
} else {
|
||||
config.llvm_from_ci = config.channel == "dev"
|
||||
&& crate::core::build_steps::llvm::is_ci_llvm_available(&config, false);
|
||||
config.llvm_from_ci = config.parse_download_ci_llvm(None, false);
|
||||
}
|
||||
|
||||
if let Some(t) = toml.target {
|
||||
@ -2341,15 +2340,7 @@ impl Config {
|
||||
download_ci_llvm: Option<StringOrBool>,
|
||||
asserts: bool,
|
||||
) -> bool {
|
||||
match download_ci_llvm {
|
||||
None => self.channel == "dev" && llvm::is_ci_llvm_available(&self, asserts),
|
||||
Some(StringOrBool::Bool(b)) => b,
|
||||
// FIXME: "if-available" is deprecated. Remove this block later (around mid 2024)
|
||||
// to not break builds between the recent-to-old checkouts.
|
||||
Some(StringOrBool::String(s)) if s == "if-available" => {
|
||||
llvm::is_ci_llvm_available(&self, asserts)
|
||||
}
|
||||
Some(StringOrBool::String(s)) if s == "if-unchanged" => {
|
||||
let if_unchanged = || {
|
||||
// Git is needed to track modifications here, but tarball source is not available.
|
||||
// If not modified here or built through tarball source, we maintain consistency
|
||||
// with '"if available"'.
|
||||
@ -2363,7 +2354,16 @@ impl Config {
|
||||
} else {
|
||||
llvm::is_ci_llvm_available(&self, asserts)
|
||||
}
|
||||
};
|
||||
match download_ci_llvm {
|
||||
None => self.channel == "dev" && if_unchanged(),
|
||||
Some(StringOrBool::Bool(b)) => b,
|
||||
// FIXME: "if-available" is deprecated. Remove this block later (around mid 2024)
|
||||
// to not break builds between the recent-to-old checkouts.
|
||||
Some(StringOrBool::String(s)) if s == "if-available" => {
|
||||
llvm::is_ci_llvm_available(&self, asserts)
|
||||
}
|
||||
Some(StringOrBool::String(s)) if s == "if-unchanged" => if_unchanged(),
|
||||
Some(StringOrBool::String(other)) => {
|
||||
panic!("unrecognized option for download-ci-llvm: {:?}", other)
|
||||
}
|
||||
|
@ -31,10 +31,10 @@ fn download_ci_llvm() {
|
||||
assert_eq!(parse_llvm(""), if_unchanged);
|
||||
assert_eq!(parse_llvm("rust.channel = \"dev\""), if_unchanged);
|
||||
assert!(!parse_llvm("rust.channel = \"stable\""));
|
||||
assert!(parse_llvm("build.build = \"x86_64-unknown-linux-gnu\""));
|
||||
assert!(parse_llvm(
|
||||
assert_eq!(parse_llvm("build.build = \"x86_64-unknown-linux-gnu\""), if_unchanged);
|
||||
assert_eq!(parse_llvm(
|
||||
"llvm.assertions = true \r\n build.build = \"x86_64-unknown-linux-gnu\" \r\n llvm.download-ci-llvm = \"if-unchanged\""
|
||||
));
|
||||
), if_unchanged);
|
||||
assert!(!parse_llvm(
|
||||
"llvm.assertions = true \r\n build.build = \"aarch64-apple-darwin\" \r\n llvm.download-ci-llvm = \"if-unchanged\""
|
||||
));
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 7738295178045041669876bf32b0543ec8319a5c
|
||||
Subproject commit 2c4de6c2492d5530de3f19f41d8f88ba984c2fe2
|
Loading…
x
Reference in New Issue
Block a user