Commit Graph

2848 Commits

Author SHA1 Message Date
Ralf Jung
c0b44ca98c tweak inttoptr allocation behavior
- Make `align_addr` not offset by `align` for no reason.
- Add some random slack between allocations to give them the chance to not be aligned.
2019-06-29 14:31:54 +02:00
bors
9e424753ba Auto merge of #802 - RalfJung:machine, r=RalfJung
some lib.rs refactoring

Taken out of https://github.com/rust-lang/miri/pull/799 so that we can land it now and resolve merge conflicts instead of dragging them along.

Splits lib.rs into machine.rs for the machine state and trait impl, and eval.rs for the main evaluator loop and setting up the initial stack frame.
2019-06-29 11:52:02 +00:00
Ralf Jung
67d3779b0c move most of the stuff from lib.rs into machine.rs, and initialization + main loop into eval.rs 2019-06-29 13:48:59 +02:00
bors
bc969f1a4c Auto merge of #798 - RalfJung:format-ptr, r=RalfJung
test pointer string formatting
2019-06-28 18:43:30 +00:00
Ralf Jung
afe42625e5 test pointer string formatting 2019-06-28 20:42:00 +02:00
bors
3bf0655436 Auto merge of #796 - RalfJung:rand, r=RalfJung
bump rand to released 0.7
2019-06-28 09:31:23 +00:00
Ralf Jung
4df5c6ac83 bump rand to released 0.7 2019-06-28 11:29:24 +02:00
bors
b0ce6938bb Auto merge of #794 - RalfJung:alignment-sanity, r=oli-obk
ptr-to-int alignment sanity check
2019-06-28 07:15:35 +00:00
Ralf Jung
6886864862 ptr-to-int alignment sanity check 2019-06-28 09:12:11 +02:00
bors
a4495fc8cb Auto merge of #793 - jyn514:master, r=RalfJung
Show usage if run without arguments

Before, running `./miri` without arguments gave
'./miri: 92: shift: can't shift that many' if run with /bin/sh,
or no output at all when run with bash (because of the `set -e` at the top).

Although that gives some indication of the error, it's not as helpful as
showing the usage.
2019-06-28 06:29:10 +00:00
Joshua Nelson
38b947b953 Show usage if run without arguments
Before, running `./miri` without arguments gave
'./miri: 92: shift: can't shift that many' if run with /bin/sh,
or no output at all when run with bash.

Although that gives some indication of the error, it's not as helpful as
showing the usage.
2019-06-27 21:47:09 -04:00
bors
945f007c0d Auto merge of #779 - christianpoveda:intptrcast-model, r=RalfJung,oli-obk
Implement intptrcast methods

cc https://github.com/rust-lang/miri/issues/224
2019-06-26 14:52:03 +00:00
Christian Poveda
7fbf8e53a2 Fix alignment of base addresses 2019-06-26 09:08:28 -05:00
bors
d1873b689d Auto merge of #790 - RalfJung:readme, r=oli-obk
README: add snippet for running Miri on CI
2019-06-25 08:14:59 +00:00
Ralf Jung
7a6438ada6 add snippet for running Miri on CI 2019-06-25 10:05:34 +02:00
Christian Poveda
792d665a1f Fix merge conflicts 2019-06-25 00:57:33 -05:00
Christian Poveda
84cfbb01b7 Reorganize MemoryExtra and AllocExtra structures 2019-06-24 17:18:25 -05:00
bors
2bd22c03eb Auto merge of #787 - RalfJung:pointer-checks, r=RalfJung
adjust for refactored memory pointer checks

The Miri side of https://github.com/rust-lang/rust/pull/62081.
2019-06-24 21:59:22 +00:00
Ralf Jung
b66cf70368 bump Rust commit 2019-06-24 23:58:37 +02:00
Christian Poveda
2861ceb2fa Rename new fields and move rng to MemoryExtra 2019-06-24 10:03:16 -05:00
Ralf Jung
7e7b5d42ba
Apply suggestions from code review
Co-Authored-By: Oliver Scherer <github35764891676564198441@oli-obk.de>
2019-06-24 14:50:27 +02:00
Ralf Jung
4d65aa8f20 expand and better explain alignment check tests 2019-06-24 08:40:45 +02:00
Ralf Jung
69e8318b60 de-obfuscate ptr comparison a bit 2019-06-23 20:30:33 +02:00
Ralf Jung
4dc188a60e adjust for refactored memory pointer checks 2019-06-23 20:19:26 +02:00
Christian Poveda
dd732e5862 Force intptrcast for binary operations 2019-06-22 09:25:16 -05:00
bors
c65fbc49d7 Auto merge of #783 - RalfJung:rustup, r=RalfJung
fix compilation with latest rustc
2019-06-22 09:49:32 +00:00
bors
19b27ab8a5 Auto merge of #784 - RalfJung:ci, r=RalfJung
also run tests for cron jobs
2019-06-22 09:14:48 +00:00
Ralf Jung
2b1eeb3928 also run tests for cron jobs 2019-06-22 11:13:35 +02:00
Ralf Jung
72c269eebe fix compilation with latest rustc 2019-06-22 11:05:12 +02:00
Christian Poveda
e57447014d Duplicate compile-fail tests for intptrcast 2019-06-21 16:32:54 -05:00
Christian Poveda
fd3a291db4 Implement intptrcast methods 2019-06-21 14:55:37 -05:00
bors
beba8c4d8a Auto merge of #782 - RalfJung:generator, r=RalfJung
add a failing test where an immovable generator gets moved

Test courtesy of @shepmaster
2019-06-21 19:49:43 +00:00
Ralf Jung
5472755f16 add a failing test where an immovable generator gets moved 2019-06-21 21:48:27 +02:00
bors
deccfa4dd8 Auto merge of #780 - RalfJung:ci, r=RalfJung
adapt CI for bors

With this, we should run the Travis tests (Linux+macOS) in PRs, and run that plus AppVeyor in bors.
2019-06-21 19:03:00 +00:00
Ralf Jung
ab473bcda5 fix Travis bors branch names 2019-06-21 21:02:30 +02:00
Ralf Jung
38d19199c3 AppVeyor: only run on bors branches 2019-06-21 20:55:24 +02:00
Ralf Jung
1a784ea21b Travis: also run on bors branches, and not on master 2019-06-21 20:54:07 +02:00
Ralf Jung
285e9a65cd
Merge pull request #778 from christianpoveda/master
Update tag methods to match Machine changes
2019-06-21 13:20:22 +02:00
Oliver Scherer
5edb9c915f
Merge branch 'master' into master 2019-06-21 12:37:13 +02:00
Oliver Scherer
ef59fc420f
Update rust-version 2019-06-21 12:36:19 +02:00
Ralf Jung
03cc719b92
Merge pull request #777 from RalfJung/rustup
bump Rust
2019-06-21 09:00:21 +02:00
Christian Poveda
17dbecfa32
Merge branch 'master' into master 2019-06-20 21:38:10 -05:00
Christian Poveda
4211d7e1a0 Update tag methods to match Machine changes 2019-06-20 16:58:57 -05:00
Ralf Jung
86868b6946
Merge branch 'master' into rustup 2019-06-20 21:37:12 +02:00
Ralf Jung
53b46db5fc
Merge pull request #774 from soc/patch-1
Fix project dirs path
2019-06-20 21:36:59 +02:00
Ralf Jung
6f5529a05b
Merge branch 'master' into patch-1 2019-06-20 20:47:27 +02:00
Ralf Jung
03eff5981b use org.rust-lang.miri folder on macOS 2019-06-20 19:45:39 +02:00
Ralf Jung
04fa38dd1b allow some inequality comparisons between pointers and integers 2019-06-20 16:38:55 +02:00
Ralf Jung
850a0d725f bump Rust, no changes needed 2019-06-20 15:35:06 +02:00
Oliver Scherer
e4b298bc4f
Merge pull request #776 from RalfJung/intrinsics
implement unchecked_{add,sub,mul} intrinsics
2019-06-17 11:12:12 +02:00