Commit Graph

5257 Commits

Author SHA1 Message Date
hyd-dev
3ee865461f
Revert "Don't duplicate check_abi()"
This reverts commit 1c7d7471da.
2021-03-17 21:51:07 +08:00
hyd-dev
bbc348539b
Unsupported foreign non-"C"/"system"-ABI function calls are not UB 2021-03-17 21:20:04 +08:00
hyd-dev
1c7d7471da
Don't duplicate check_abi() 2021-03-17 00:40:53 +08:00
bors
0788188c7b Auto merge of #1743 - RalfJung:callee-checks, r=RalfJung
Check callee ABI when Miri calls closures

Fixes https://github.com/rust-lang/miri/issues/1741
2021-03-14 18:05:18 +00:00
bors
a798792f1e Auto merge of #1744 - rust-lang:bad-unwind, r=RalfJung
ensure we catch incorrectly unwinding calls

Fixes https://github.com/rust-lang/miri/issues/1740
2021-03-14 16:11:21 +00:00
Ralf Jung
15465a5881 don't ICE when we unwind despite panic=abort 2021-03-14 17:10:45 +01:00
Ralf Jung
c9ff02f549 ensure we catch incorrectly unwinding calls 2021-03-14 17:03:20 +01:00
Ralf Jung
d1dec9cd23 don't ICE when callee has the wrong number of arguments 2021-03-14 15:38:22 +01:00
Ralf Jung
893843fd45 when Miri calls a function ptr, make sure it has the right ABI 2021-03-14 15:30:37 +01:00
bors
ae964207bb Auto merge of #1739 - RalfJung:rustup, r=RalfJung
rustup
2021-03-11 08:07:36 +00:00
Ralf Jung
98f28ac9c8 rustup 2021-03-11 09:07:05 +01:00
bors
a6539934d9 Auto merge of #1738 - RalfJung:rustup, r=RalfJung
rustup

The error message is not entirely right now, but close enough... let's get CI to pass before we miss other breakage.
2021-03-10 15:00:43 +00:00
Ralf Jung
7a7f7b1a7a rustup 2021-03-10 15:21:12 +01:00
bors
fc41a9cdd4 Auto merge of #1736 - DJMcNab:rust-analyzer-private, r=RalfJung
Opt-in to rustc_private for `rust-analyzer`

rust-analyzer/rust-analyzer#7891
2021-03-09 18:38:22 +00:00
Daniel McNab
6106ee214c Add link to pr for documentation 2021-03-09 18:27:22 +00:00
bors
c765effa89 Auto merge of #1737 - rust-lang:oli-obk-patch-1, r=oli-obk
mir-opt-level 4 is the new 3

cc https://github.com/rust-lang/rust/pull/82736
2021-03-09 13:51:10 +00:00
Oli Scherer
38da1fab78
mir-opt-level 4 is the new 3 2021-03-09 14:50:38 +01:00
bors
413e341eb4 Auto merge of #1735 - m-ou-se:remove-unwrap-none, r=RalfJung
Remove unwrap_none/expect_none, take 2.

This is https://github.com/rust-lang/miri/pull/1734, but now with a better alternative.

This also upgrades rustc to the latest version, to be able to use the better alternative (`try_insert`).
2021-03-08 18:06:30 +00:00
Daniel McNab
1e19150d1e Opt-in to rustc_private for rust-analyzer
rust-analyzer/rust-analyzer#7891
2021-03-08 17:28:52 +00:00
Mara Bos
90e218ad90 Fix panic test. 2021-03-08 17:06:50 +01:00
Mara Bos
5bd5ea21ea Remove unwrap_none as it won't be stabilized.
This upgrades to the latest rustc to be able to use try_insert()
instead.
2021-03-08 16:59:20 +01:00
bors
0a0e366ccf Auto merge of #1733 - Smittyvb:breakpoint-intrinsic, r=RalfJung
Support breakpoint intrinsic

The `breakpoint` intrinsic raises a `SIGTRAP` signal. If a debugger is attached to a normal program, then `SIGTRAP` can be used to trigger breakpoints in debuggers like `gdb`. If there is no debugger, then the program exits with a message like `Trace/breakpoint trap (core dumped)`. This adds support for the intrinsic in Miri. While actually passing through the `SIGTRAP` doesn't make sense in a Miri context (if it just raised the signal normally then it would allow for debugging Miri itself, not the program being evaluated). As such, it just raises an error.
2021-03-05 12:29:32 +00:00
Smittyvb
8d43d727f4
Check arg count
Co-authored-by: Ralf Jung <post@ralfj.de>
2021-03-05 07:16:50 -05:00
Smitty
26e97ec54f Support breakpoint intrinsic 2021-03-04 07:48:28 -05:00
bors
d6d0109de6 Auto merge of #1732 - RalfJung:atomic_op, r=RalfJung
rename atomic_op_min_max -> atomic_op

The corresponding enum is called `AtomicOp` so IMO this also makes more sense as the name for the function.
2021-03-03 08:06:15 +00:00
Ralf Jung
9f3dbad5d0 rename atomic_op_min_max -> atomic_op 2021-03-02 19:54:45 +01:00
bors
2670839e1a Auto merge of #1721 - henryboisdequin:add-atomic-min-and-max, r=oli-obk
Add atomic min and max

Closes #1718
Previous attempt: #1653

TODO:

- [x] Merge `atomic_op` and `atomic_min_max` functions
- [x] Fix CI

**Note:** this PR also removes arbitrary trailing whitespace and generally formats the affected files
2021-03-02 14:52:32 +00:00
Henry Boisdequin
f8440d6c99 Add in atomic_{min,max}_x intrinsics
Co-authored-by: Greg Bowyer <gbowyer@fastmail.co.uk>
2021-03-02 20:17:05 +05:30
Henry Boisdequin
7d1531f3c1 fmt data_race.rs and intrinsics.rs 2021-03-02 18:06:12 +05:30
bors
904e66a7a6 Auto merge of #1730 - RalfJung:zulip, r=oli-obk
add date to Zulip notification subject

We sometimes have discussions in those threads; let's make sure we have a new thread for each new day (which likely means a new problem... or nobody got around to fixing things yet^^).
2021-03-02 11:08:27 +00:00
bors
debbe9e85c Auto merge of #1731 - RalfJung:ci, r=oli-obk
adjust CI test flags

`RUST_TEST_NOCAPTURE` seems to make no difference except for making compiletest output not use colors any more; `RUST_BACKTRACE` is already set by `compiletest.rs`.
2021-03-02 10:51:12 +00:00
Ralf Jung
47ec9b878e adjust CI test flags 2021-03-02 11:25:02 +01:00
bors
0fc9aee973 Auto merge of #1729 - RalfJung:rustup, r=RalfJung
rustup; fix tests for new MIR optimization

Somehow https://github.com/rust-lang/rust/pull/78360 manages to mask UB. This would make sense if there were loops or things like that, but there are not, so really this is just very confusing...
2021-03-02 10:11:02 +00:00
Ralf Jung
2902ad91de add date to Zulip notification subject 2021-03-02 11:09:06 +01:00
Ralf Jung
97e45e0699 make optimized-test-run a bit more like what cargo does 2021-03-02 11:04:35 +01:00
Ralf Jung
7acf80d2bb rustup; fix tests for new MIR optimization 2021-03-02 10:57:08 +01:00
bors
46a08b72ef Auto merge of #1728 - RalfJung:rustup, r=RalfJung
rustup

Let's see if that version still all works
2021-03-02 09:18:13 +00:00
Ralf Jung
df2d498a05 rustup 2021-03-02 10:16:44 +01:00
bors
39ebb079a8 Auto merge of #1726 - hyd-dev:stub-d, r=RalfJung
cargo-miri: create stub .d files

Thanks `@RalfJung` for the discovery: https://github.com/rust-lang/miri/issues/1724#issuecomment-787115693 ❤️
Fixes #1724.
2021-02-28 10:35:54 +00:00
hyd-dev
6d5ce21c92
Cleanup test-cargo-miri/run-test.py 2021-02-28 18:13:33 +08:00
hyd-dev
46af1890a5
Drop MIRIFLAGS from "no rebuild" test 2021-02-28 16:10:35 +08:00
hyd-dev
9c1342b152
Clarify that the "dep-info" is fake and add a newline 2021-02-28 15:57:49 +08:00
hyd-dev
49cd383537
Create stub .d files 2021-02-28 04:56:20 +08:00
bors
4ecb5a99e0 Auto merge of #1725 - RalfJung:zst-reborrow, r=RalfJung
fix reborrowing of tagged ZST references

`@SkiFire13` [pointed out](https://github.com/rust-lang/rust/pull/82554#issuecomment-787088712) that Miri fails to detect illegal use of empty slices. This PR fixes that. In so doing, it uncovers a flaw of Stacked Borrows: it is incompatible with how the formatting machinery uses `extern type`, so for now we skip reborrowing when we cannot determine the exact size of the pointee.
2021-02-27 19:11:05 +00:00
Ralf Jung
48f7c8e2e6 fix reborrowing of tagged ZST references 2021-02-27 20:10:50 +01:00
bors
74b771423a Auto merge of #1723 - RalfJung:cargo-miri, r=RalfJung
cargo-miri: avoid unnecessary rebuilds

Fixes https://github.com/rust-lang/miri/issues/1722
2021-02-27 12:08:05 +00:00
Ralf Jung
3e987e127c create more fake files for cdylibs and staticlibs 2021-02-27 13:07:40 +01:00
Ralf Jung
f85bb0fb09 test for unnecessary rebuilds in 'cargo miri run' 2021-02-27 12:24:58 +01:00
bors
e29f137941 Auto merge of #1720 - RalfJung:rustup, r=RalfJung
rustup

Prevent MIR optimizations from removing this read.
2021-02-23 08:24:35 +00:00
Ralf Jung
c003fd0157 rustup 2021-02-23 09:23:49 +01:00