-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
Pass FnAbi to find_mir_or_eval_fn #133103
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
Conversation
|
Some changes occurred to the CTFE machinery cc @rust-lang/wg-const-eval Some changes occurred to the CTFE / Miri interpreter cc @rust-lang/miri The Miri subtree was changed cc @rust-lang/miri |
|
@rustbot author |
|
@RalfJung There are some refactorings needed to remove |
This comment has been minimized.
This comment has been minimized.
Yeah, they should pass |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
bc545aa to
79dce6a
Compare
This comment has been minimized.
This comment has been minimized.
|
☔ The latest upstream changes (presumably #134052) made this pull request unmergeable. Please resolve the merge conflicts. |
|
Interesting... for the same test, running on Linux will pass, but running on Windows will fail because of incompatible ABI. For future reference:
This means that for the exact same function, whether we should use EDIT: Ok nevermind, it's just I used |
8404ac5 to
64e95f8
Compare
|
This means that for the exact same function, whether we should use Conv::C or Conv::X86Stdcall depends on the target we are running? Or maybe I just did something bad somewhere...
Yes that makes sense, Windows has some special rules here.
|
|
I might continue to fix some cosmetic issues such as stray new lines, but this PR is ready for review @rustbot ready |
RalfJung
left 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.
Looks pretty good. :) Just some minor comments.
src/tools/miri/src/helpers.rs
Outdated
| if fn_abi.conv != exp_abi { | ||
| throw_ub_format!( | ||
| "calling a function with ABI {} using caller ABI {}", |
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.
Just use debug formatting for the error for now. We do the same in interpret/call.rs already.
The proper fix here would be a impl Display for Conv somewhere near this. If you want you can do that in a future PR. :)
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.
Sure, I can open one after this.
|
@rustbot author |
|
☔ The latest upstream changes (presumably #134381) made this pull request unmergeable. Please resolve the merge conflicts. |
|
I will need some time to figure out how to resolve the merge conflict, and will request for r+ again after resolving it. |
9c7593e to
45fc89a
Compare
|
Hmm this is weird, the import is valid and I didn't change anything from attr, but got this error: --> compiler/rustc_hir/src/hir.rs:5:5
|
5 | use rustc_ast::attr::AttributeExt;
| ^^^^^^^^^^^^^^^^^------------
| | |
| | help: a similar name exists in the module: `Attribute`
| no `AttributeExt` in `attr`
error[E0432]: unresolved import `rustc_ast::UnsafeBinderCastKind`
--> compiler/rustc_hir/src/hir.rs:14:57
|
14 | ImplPolarity, IsAuto, Movability, Mutability, UnOp, UnsafeBinderCastKind,
| ^^^^^^^^^^^^^^^^^^^^ no `UnsafeBinderCastKind` in the root
error[E0432]: unresolved import `rustc_ast::attr::AttributeExt`
--> compiler/rustc_hir/src/lang_items.rs:10:5
|
10 | use rustc_ast::attr::AttributeExt;
| ^^^^^^^^^^^^^^^^^------------
| | |
| | help: a similar name exists in the module: `Attribute`
| no `AttributeExt` in `attr`
For more information about this error, try `rustc --explain E0432`.@oli-obk since you reviewed #134381, do you know what's going on here and how to resolve this? |
|
That's weird. Sounds like a cache issue where it doesn't think a crate has changed when it acrually has. Worst case try |
This comment has been minimized.
This comment has been minimized.
|
|
|
☔ The latest upstream changes (presumably #134243) made this pull request unmergeable. Please resolve the merge conflicts. |
45fc89a to
5454c95
Compare
5454c95 to
fd8b983
Compare
|
@bors r+ |
|
@bors ping |
|
😪 I'm awake I'm awake |
|
@bors r=RalfJung |
rust-lang/miri#4013 needs information from
FnAbi, hence it is passed tofind_mir_or_eval_fn.r? @RalfJung