-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bump minimum LLVM version to 5.0 #51899
Conversation
@@ -666,11 +666,7 @@ impl<'a, 'tcx> FnTypeExt<'a, 'tcx> for FnType<'tcx, Ty<'tcx>> { | |||
layout::Int(..) if !scalar.is_bool() => { | |||
let range = scalar.valid_range_exclusive(bx.cx); | |||
if range.start != range.end { | |||
// FIXME(nox): This causes very weird type errors about | |||
// SHL operators in constants in stage 2 with LLVM 3.9. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @nox
@@ -14,7 +14,7 @@ | |||
// ignore-tidy-linelength | |||
// ignore-windows | |||
// ignore-macos | |||
// min-system-llvm-version 5.1 | |||
// min-llvm-version 6.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, I don't know if I messed this up. Like LLVM 5.1 does not exist, are we sure whatever change was needed was not part of LLVM 6.0 and that the patch will be backported to LLVM 5.1 if it is ever released (which seems unlikely) ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was part of #45897, which included rust-lang/llvm#97 with D39503. That patch is indeed included in LLVM 6.0, and I don't think there's any point tagging this for a hypothetical 5.1.
@@ -8,9 +8,6 @@ | |||
// option. This file may not be copied, modified, or distributed | |||
// except according to those terms. | |||
|
|||
// asmjs can't even pass i128 as arguments or return values, so ignore it. | |||
// this will hopefully be fixed by the LLVM 5 upgrade (#43370) | |||
// ignore-asmjs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The issue is closed, we'll se if this works, but if it doesn't, it might need a new issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since asmjs isn't upgraded here this is probably still an issue but I'm fine waiting for bors too!
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
r=me with tests passing, nice cleanup! |
let mut variable_access = VariableAccess::DirectVariable { | ||
// byval attribute, for which LLVM always does the deref itself, | ||
// so we must not add it. | ||
let variable_access = VariableAccess::DirectVariable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, this sort of change is why I pointed out that llvm-emscripten is still on LLVM 4. Won't it be broken by this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If Emscripten had working debuginfo it might be broken yeah but I don't think it has debuginfo to nearly this level of fidelity for it to matter too much
I can't reproduce the failure locally, so I'd guess this is a regression in the LLVM 5 version being used here (is there an easy way to print which exact LLVM version is used in CI?). I've bumped the minimum llvm version of the failing test to LLVM 6, but maybe the solution here would be to make sure that we use LLVM 5.0.1 or 5.0.2 in CI. |
@alexcrichton can we try this? |
@bors: r+ |
📌 Commit 008e9fe8132d656ee66f54cf729bda652be94450 has been approved by |
⌛ Testing commit 008e9fe8132d656ee66f54cf729bda652be94450 with merge a2266f5cc50593ade5e51bd62dc021899d07030a... |
💔 Test failed - status-appveyor |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@alexcrichton so emscripten didn't like this. Should I revert the changes that emscripten did not like, or should I do something else? |
@gnzlbg yeah the RustWrapper.cpp and such files will still need to compile on LLVM 4.0 for Emscripten, |
☔ The latest upstream changes (presumably #52109) made this pull request unmergeable. Please resolve the merge conflicts. |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@alexcrichton this should be fixed |
@bors: r+ |
📌 Commit 3b36ce6 has been approved by |
bump minimum LLVM version to 5.0 Closes #51878 . r? @alexcrichton -- cc @cuviper @infinity0
☀️ Test successful - status-appveyor, status-travis |
Version 1.29.0 (2018-09-13) ========================== Compiler -------- - [Bumped minimum LLVM version to 5.0.][51899] - [Added `powerpc64le-unknown-linux-musl` target.][51619] - [Added `aarch64-unknown-hermit` and `x86_64-unknown-hermit` targets.][52861] Libraries --------- - [`Once::call_once` now no longer requires `Once` to be `'static`.][52239] - [`BuildHasherDefault` now implements `PartialEq` and `Eq`.][52402] - [`Box<CStr>`, `Box<OsStr>`, and `Box<Path>` now implement `Clone`.][51912] - [Implemented `PartialEq<&str>` for `OsString` and `PartialEq<OsString>` for `&str`.][51178] - [`Cell<T>` now allows `T` to be unsized.][50494] - [`SocketAddr` is now stable on Redox.][52656] Stabilized APIs --------------- - [`Arc::downcast`] - [`Iterator::flatten`] - [`Rc::downcast`] Cargo ----- - [Cargo can silently fix some bad lockfiles ][cargo/5831] You can use `--locked` to disable this behaviour. - [`cargo-install` will now allow you to cross compile an install using `--target`][cargo/5614] - [Added the `cargo-fix` subcommand to automatically move project code from 2015 edition to 2018.][cargo/5723] Misc ---- - [`rustdoc` now has the `--cap-lints` option which demotes all lints above the specified level to that level.][52354] For example `--cap-lints warn` will demote `deny` and `forbid` lints to `warn`. - [`rustc` and `rustdoc` will now have the exit code of `1` if compilation fails, and `101` if there is a panic.][52197] - [A preview of clippy has been made available through rustup.][51122] You can install the preview with `rustup component add clippy-preview` Compatibility Notes ------------------- - [`str::{slice_unchecked, slice_unchecked_mut}` are now deprecated.][51807] Use `str::get_unchecked(begin..end)` instead. - [`std::env::home_dir` is now deprecated for its unintuitive behaviour.][51656] Consider using the `home_dir` function from https://crates.io/crates/dirs instead. - [`rustc` will no longer silently ignore invalid data in target spec.][52330] [52861]: rust-lang/rust#52861 [52656]: rust-lang/rust#52656 [52239]: rust-lang/rust#52239 [52330]: rust-lang/rust#52330 [52354]: rust-lang/rust#52354 [52402]: rust-lang/rust#52402 [52103]: rust-lang/rust#52103 [52197]: rust-lang/rust#52197 [51807]: rust-lang/rust#51807 [51899]: rust-lang/rust#51899 [51912]: rust-lang/rust#51912 [51511]: rust-lang/rust#51511 [51619]: rust-lang/rust#51619 [51656]: rust-lang/rust#51656 [51178]: rust-lang/rust#51178 [51122]: rust-lang/rust#51122 [50494]: rust-lang/rust#50494 [cargo/5614]: rust-lang/cargo#5614 [cargo/5723]: rust-lang/cargo#5723 [cargo/5831]: rust-lang/cargo#5831 [`Arc::downcast`]: https://doc.rust-lang.org/std/sync/struct.Arc.html#method.downcast [`Iterator::flatten`]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.flatten [`Rc::downcast`]: https://doc.rust-lang.org/std/rc/struct.Rc.html#method.downcast
Closes #51878 .
r? @alexcrichton
--
cc @cuviper @infinity0