-
Notifications
You must be signed in to change notification settings - Fork 353
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
Rustup #425
Conversation
} | ||
Value::Scalar(_) => self.write_value(ValTy { value: Value::Scalar(Scalar::null(dest_layout.size).into()), ty: dest_layout.ty }, dest)?, | ||
Value::ScalarPair(..) => { | ||
self.write_value(ValTy { value: Value::ScalarPair(Scalar::null(dest_layout.size).into(), Scalar::null(dest_layout.size).into()), ty: dest_layout.ty }, dest)?; |
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.
Why does this not use the usual memory write functions, but special-case locals?
(I realize you did not change this, but I am still curious and this might be a good time to add a comment.^^)
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 memory write functions would force an allocation... at least for uninit. not sure why init is implemented the same way, it does need the allocation for bigger things.
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.
Okay. Would be nice to have a comment along those lines.
@@ -629,21 +618,24 @@ impl<'a, 'mir, 'tcx> EvalContextExt<'tcx> for EvalContext<'a, 'mir, 'tcx, super: | |||
} | |||
|
|||
"uninit" => { |
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.
Same question as for init
Uh, strange assertion failures in cast.rs when running for a foreign architecture... |
This is the failing assertion: |
try running the code with |
I first have to compile latest rustc with debug assertions to get there... |
I am afraid I have no idea how to debug this. My self-compiled rust does not have a 32bit libstd, building one with xargo does not work (see #202), and using https://github.com/kennytm/rustup-toolchain-install-master/ does not help either as it seems we do not have a 32bit alt build. |
Finally, got a debug setup. For the record:
then ran
and patched the code of a failing testcase to not require std: #![feature(panic_implementation)]
#![feature(lang_items)]
#![no_std]
use core::panic::PanicInfo;
#[panic_implementation]
fn my_panic(pi: &PanicInfo) -> ! {
loop {}
}
#[lang = "eh_personality"] extern fn eh_personality() {}
fn main() {
assert_eq!(core::char::from_u32('x' as u32), Some('x'));
} |
Yeah that looks wrong
we should never have a Seems the value is coming from
|
50dbdbb
to
6789a46
Compare
…to backtraces also some travis config cleanup
8f35cd1
to
3be3c1f
Compare
What, why does that one commit work now...? Oh. AppVeyor does not actually test the given commit. It tests the PR at the time the queue proceeds far enough. WTF?!? |
No description provided.