Commit Graph

3517 Commits

Author SHA1 Message Date
Aaron Hill
b5235dea7f
Add #[should_panic] test 2019-11-17 11:09:16 -05:00
Aaron Hill
b06d99b8a0
Ignore '-C panic=abort' tests for now
We are currently building `libpanic_abort` with the wrong panic
strategy, due to Xargo missing a hack used by `bootstrap`.
2019-11-17 08:40:34 -05:00
Aaron Hill
08d3fbc76b
Support unwinding after a panic
Fixes #658

This commit adds support for unwinding after a panic. It requires a
companion rustc PR to be merged, in order for the necessary hooks to
work properly.

Currently implemented:
* Selecting between unwind/abort mode based on the rustc Session
* Properly popping off stack frames, unwinding back the caller
* Running 'unwind' blocks in Mir terminators

Not yet implemented:
* 'Abort' terminators

This PR was getting fairly large, so I decided to open it for review without
implementing 'Abort' terminator support. This could either be added on
to this PR, or merged separately.
2019-11-17 08:34:25 -05:00
bors
67a63f89d8 Auto merge of #1056 - RalfJung:max, r=RalfJung
use new isize_max method in FS accesses

also check full buffers for validity
2019-11-17 08:55:02 +00:00
Ralf Jung
5345636f37 use new isize_max method in FS accesses; also check full buffers for validity 2019-11-17 09:54:09 +01:00
bors
9f1aec34e1 Auto merge of #1055 - RalfJung:panic-stub, r=RalfJung
minimal rustup for panic changes

Main patch by @Aaron1011
2019-11-17 08:21:42 +00:00
Ralf Jung
f2c0c44a09 remove some leftovers from the miri-control-attribute days 2019-11-17 09:20:50 +01:00
Ralf Jung
4712ed3ff5 rustup again 2019-11-17 09:03:16 +01:00
Ralf Jung
08fe5ee78c try the stable feature of compiletest 2019-11-16 09:08:30 +01:00
Ralf Jung
68bc7e077b bump Rust 2019-11-16 09:00:05 +01:00
bors
abab0207af Auto merge of #1054 - RalfJung:win-num-cpus, r=RalfJung
test-cargo-miri: cargo update, re-enable windows num_cpus test
2019-11-15 15:00:28 +00:00
Ralf Jung
524624297d test-cargo-miri: cargo update, re-enable windows num_cpus test 2019-11-15 15:59:19 +01:00
bors
2bdf163d69 Auto merge of #1053 - RalfJung:clean, r=RalfJung
remove no-longer-needed zero checks
2019-11-14 10:16:51 +00:00
Ralf Jung
c790317eb9 remove no-longer-needed zero checks 2019-11-14 10:30:00 +01:00
bors
bf96b47d13 Auto merge of #1052 - RalfJung:icefix, r=RalfJung
fix ICE due to dangling pointers in Stacked Borrows

Fixes https://github.com/rust-lang/miri/issues/1050. Thanks to @CAD97 for the report!
2019-11-14 09:27:03 +00:00
Ralf Jung
64244e9a18 do full deref-check before reborrowing 2019-11-14 10:24:02 +01:00
Ralf Jung
82ef2bb0e2 rename miri-issue to issue-miri for grouping 2019-11-14 10:16:44 +01:00
bors
09b0a8a813 Auto merge of #1022 - christianpoveda:fix-fd-access, r=RalfJung
Fix unchecked memory access for files

This PR takes care of two problems:

- It uses `Memory::(read|write)_bytes` to guarantee that memory accesses are checked (Fixes: https://github.com/rust-lang/miri/issues/1007)
- It removes the `(get|remove)_handle_and` methods which were a little bit cumbersome to use. In particular `remove_handle_and`, because we were using it to avoid borrowing issues before the `Evaluator::memory` field was public.

@RalfJung @oli-obk
2019-11-13 22:58:24 +00:00
Christian Poveda
4baef7120a Fix maximum isize value for target 2019-11-13 14:45:00 -05:00
Christian Poveda
edd0157069 Cap count twice 2019-11-13 11:57:20 -05:00
bors
69415b48e2 Auto merge of #1049 - silathdiir:copysignf32-and-copysignf64, r=RalfJung
Implment intrinsics::copysignf32 and intrinsics::copysignf64

Tries to implment `intrinsics::copysignf32` and `intrinsics::copysignf64` for fixing Issue #1046 .
2019-11-13 09:42:47 +00:00
Steven Gu
ca983f5f80 Implments intrinsics::copysignf32 and intrinsics::copysignf64. 2019-11-13 17:41:09 +08:00
Aaron Hill
cf5b53e52f
Rustup for panic changes
This gets Miri working again, but doesn't actually implement unwinding
2019-11-12 19:52:15 -05:00
bors
86f473810a Auto merge of #1047 - RalfJung:uprust, r=RalfJung
rustup
2019-11-11 20:26:37 +00:00
Ralf Jung
2c55a508e9 rustup 2019-11-11 21:25:57 +01:00
Christian Poveda
6e37f2f3e1 Cap count 2019-11-09 15:15:52 +01:00
Christian Poveda
10b93730d3 Fix merge conflicts 2019-11-09 10:42:45 +01:00
bors
8355437d5d Auto merge of #1044 - RalfJung:uprust, r=RalfJung
rustup
2019-11-08 21:08:52 +00:00
Ralf Jung
37b1190def rustup 2019-11-08 22:07:52 +01:00
bors
9316d90315 Auto merge of #1040 - RalfJung:rustup, r=RalfJung
rustup
2019-11-08 17:49:38 +00:00
bors
1fb857dcb0 Auto merge of #1043 - RalfJung:cache, r=RalfJung
Cache rustup-toolchain-install-master again

We temporarily disabled the cache just to get it updated.
2019-11-08 15:38:06 +00:00
Ralf Jung
9ca277f2e9 bump minimal xargo version so that it honors the lockfile 2019-11-08 16:36:57 +01:00
Ralf Jung
d518c38219 rust-docs should be gone from all caches now 2019-11-08 14:13:23 +01:00
Ralf Jung
1aeecb553a Revert "temporarily ignore cached rustup-toolchain-install-master"
This reverts commit 4872c5cbbe.
2019-11-08 14:12:54 +01:00
Ralf Jung
4c25cf0a87 fix into_iter usage 2019-11-08 12:43:26 +01:00
Ralf Jung
bcbc666493 let's see if newer rustc helps 2019-11-08 10:08:57 +01:00
Ralf Jung
a90ac3b0ec disable num_cpus on Windows for now 2019-11-08 09:16:44 +01:00
Christian Poveda
4bbaa72dc9 Use TryFrom instead 2019-11-07 20:50:16 +01:00
Ralf Jung
428fc531d8 silence a lint that catches the bug statically 2019-11-07 09:44:00 +01:00
bors
5dc433a13d Auto merge of #1039 - RalfJung:dyn-tests, r=RalfJung
More tests for dyn trait (in particular, unsized receivers)

So far we only tested them indirectly through `dyn FnOnce`; this also adds some self-contained tests from the rustc test suite.
2019-11-07 08:18:09 +00:00
Ralf Jung
57dec5c791 also test Box<self> receiver 2019-11-07 09:17:40 +01:00
Ralf Jung
b7a8ce1be0 move blosure tests to closures file; test Box<dyn> a bit more 2019-11-07 09:14:23 +01:00
Ralf Jung
04c12952ca centralize and expand dyn-trait (method receiver) tests 2019-11-07 09:05:11 +01:00
Ralf Jung
c77b282695 rename call_drop_ tests to drop_ 2019-11-07 08:56:11 +01:00
Ralf Jung
8b1630cb3b tweak and slightly extend box-box-trait test 2019-11-07 08:55:59 +01:00
bors
0740a2040f Auto merge of #1037 - JOE1994:master, r=RalfJung
error code E0080 is no longer printed with MIRI error message

Thanks to help from @bjorn3, @RalfJung, and @oli-obk on issue #1035 , I fixed the miri code so that error code **E0080** is no longer printed out for MIRI evaluation errors. I tested my code in my Linux machine as below.
![image](https://user-images.githubusercontent.com/10286488/68264744-e71e6c80-0017-11ea-9028-f83e19164ea2.png)

Remaining concern is whether the variable name `new_tcx` which I used is misleading or not.

Fixes https://github.com/rust-lang/miri/issues/1035
2019-11-06 13:39:22 +00:00
YOUNGSUK KIM
e5675ab0fc follow-up to review 2019-11-06 08:25:00 -05:00
bors
4ddc37df7a Auto merge of #1031 - RalfJung:ptr-offset, r=RalfJung
Refactor ptr_offset_inbounds

I finally found a way to write this using basically just `check_ptr_access` while handling all cases (integers and pointers, offset 0 or not) correctly. This changes behavior for NULL ptrs, but I think the change is for the better.

Depends on https://github.com/rust-lang/rust/pull/66081.
2019-11-06 09:51:32 +00:00
Ralf Jung
8b0c14f9f6 ptr_offset: handle negative offsets 2019-11-06 10:51:06 +01:00
Ralf Jung
b2a2f4dd15 rustup 2019-11-06 09:25:02 +01:00