Skip to content
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

fix make check-stage1 #28206

Closed
wants to merge 2 commits into from

Conversation

Projects
None yet
3 participants
@arielb1
Copy link
Contributor

arielb1 commented Sep 3, 2015

Ariel Ben-Yehuda added some commits Sep 3, 2015

Ariel Ben-Yehuda
give rustc its own panic-handling mechanism
this is implemented somewhat hackily, but makes rustc work
without unwinding
Ariel Ben-Yehuda
use the compiletest from stage2 for stage1
this fixes `make check-stage1`
@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Sep 3, 2015

As I've mentioned on #27417 let's just take the route of removing -Z no-landing-pads for now, it's by far the easiest and doesn't require separate code paths. Requiring a stage2 compiletest requires compiling the entire stage1 compiler before check-stage1-rpass can be run which is pretty unfortunate. This PR also uses features like #[thread_local] (not portable) and rt::unwind::register (super unstable) which I would prefer to avoid.

@arielb1

This comment has been minimized.

Copy link
Contributor Author

arielb1 commented Sep 4, 2015

separate code paths? what are you talking about? I have 1 code-path. It would be better to have a sane panic-control API rather than the crazy interdiction thing I am doing, but the current implementation is also rather ugly.

stage2 compiletest only depends on stage2 libstd etc. (aka make check-stage1), and you need stage2 libstd anyway for doing anything. It does not depend on a stage2 compiler (libsyntax, librustc, etc.) - that's the expensive part.

The moment we get a better panic-control API I will switch to it. Maybe even remove the thread-local - it is not strictly needed.

It is very important to be able to react sanely to panics. Printing an ugly error to stderr and unwinding is not necessarily a sane reaction. Rust will be pretty much unusable if there is no such way.

@arielb1

This comment has been minimized.

Copy link
Contributor Author

arielb1 commented Sep 5, 2015

r? @nrc

@rust-highfive rust-highfive assigned nrc and unassigned alexcrichton Sep 5, 2015

@nrc

This comment has been minimized.

Copy link
Member

nrc commented Sep 6, 2015

r? @alexcrichton

kicking back to acrichto - I'm not familiar with the background here. Also cc @rust-lang/tools.

@rust-highfive rust-highfive assigned alexcrichton and unassigned nrc Sep 6, 2015

@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Sep 28, 2015

Closing due to inactivity, and given the discussion on the discuss thread I've opened #28710 to track this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.