Uh oh!
There was an error while loading. Please reload this page.
Allow runtime switching between trans backends - #45684
Conversation
cc @alexcrichton @rust-lang/compiler I'm not sure a flag is the right thing to use here. |
bjorn3
commented
Nov 1, 2017
Most of the driver is the same for each backend. We could pass different compiler callbacks to rustc_driver for each backend. |
alexcrichton
commented
Nov 1, 2017
This seems to add |
bjorn3
commented
Nov 1, 2017
eddyb
commented
Nov 1, 2017
@bjorn3 We use "custom drivers" to refer to different binaries using |
There was a problem hiding this comment.
Now with less object unsafe associated types 🎊
carols10cents
commented
Nov 6, 2017
What's the status of this PR @bjorn3@alexcrichton@eddyb? I'm having a tough time telling :) |
eddyb
commented
Nov 6, 2017
I'm not sure what we should do here. Nominating for discussion in the next compiler meeting. |
There was a problem hiding this comment.
Now with less object unsafe associated types 🎊
Edit: now completely object safe
eddyb
commented
Nov 9, 2017
@bjorn3 Out of curiosity, do you have some specific motivation/need behind this PR, or is it intended as a general refactoring towards supporting multiple backends? |
Mainly refactoring, but when this is merged I want to try to add basic cranelift support. |
eddyb
commented
Nov 10, 2017
I'd suggest more coordination between you, @sunfishcode and me, and the compiler team in general. Just to avoid stepping on eachother's toes, as we are all interested in this goal :). |
eae208e to
fd38507Compareeddyb
commented
Nov 12, 2017
There was a problem hiding this comment.
Removed as it requires the now removed after_llvm callback.
nikomatsakis
left a comment
There was a problem hiding this comment.
So, eddyb kicked this to me, but I actually don't know that I'm the right person to do a detailed review here. I mean I could, but I think that @eddyb and perhaps @michaelwoerister have stronger opinions about how this should be internally architected. @bjorn3 can you and @eddyb sync up at some point and talk it over?
There was a problem hiding this comment.
This seems like an important thing to get right before we land, no? Although I guess it's only a warning, not an error, but I wouldn't want to silently be accepting bad things.
bors
commented
Nov 15, 2017
☔ The latest upstream changes (presumably #45944) made this pull request unmergeable. Please resolve the merge conflicts. |
831a965 to
b3a986aCompareThere was a problem hiding this comment.
You shouldn't need to do anything here, this is redundant.
There was a problem hiding this comment.
You mean i should remove this line?
nikomatsakis
commented
Nov 15, 2017
bors
commented
Jan 19, 2018
💔 Test failed - status-travis |
arielb1
commented
Jan 19, 2018
|
bjorn3
commented
Jan 20, 2018
Fixed ICE |
eddyb
commented
Jan 20, 2018
@bors r+ |
bors
commented
Jan 20, 2018
📌 Commit a4854e8 has been approved by |
bors
commented
Jan 20, 2018
Allow runtime switching between trans backends The driver callback after_llvm has been removed as it doesnt work with multiple backends. r? @eddyb
bors
commented
Jan 20, 2018
💔 Test failed - status-travis |
fb976fb to
a30232fCompareeddyb
commented
Jan 20, 2018
@bors r+ |
bors
commented
Jan 20, 2018
📌 Commit a30232f has been approved by |
bors
commented
Jan 20, 2018
⌛ Testing commit a30232f with merge 3153d4a27cf582356da0bb5a2190c7bebd150372... |
bors
commented
Jan 20, 2018
💔 Test failed - status-travis |
shepmaster
commented
Jan 21, 2018
@bors retry |
bors
commented
Jan 21, 2018
Allow runtime switching between trans backends The driver callback after_llvm has been removed as it doesnt work with multiple backends. r? @eddyb
bors
commented
Jan 21, 2018
☀️ Test successful - status-appveyor, status-travis |
Tested on commit rust-lang/rust@9368a1e. 💔 rls on windows: test-pass → build-fail (cc @nrc). 💔 rls on linux: test-pass → build-fail (cc @nrc).
The driver callback after_llvm has been removed as it doesnt work with multiple backends.
r? @eddyb