Ralf Jung
90edc03eea
Add a test demonstrating the limitations of our lfietime resolution
2017-08-18 11:29:51 +02:00
Ralf Jung
5d60c614e6
Merge pull request #302 from RalfJung/mir-validate2
...
enable a test that waited for a rustc fix
2017-08-12 10:11:18 -07:00
Ralf Jung
7e5d971c56
fix warnings; make test suite pass again
2017-08-12 09:45:44 -07:00
Ralf Jung
2be159bacd
enable a test that waited for a rustc fix
2017-08-11 09:12:46 -07:00
Oliver Schneider
dca1be68ff
Merge pull request #300 from oli-obk/rustc_tests
...
Get the test suite working inside the rustc test suite
2017-08-11 09:39:36 +02:00
Oliver Schneider
8019deb0a9
Update compiletest.rs
2017-08-10 19:39:32 +02:00
Oliver Schneider
33ff32cac8
Get the test suite working inside the rustc test suite
2017-08-10 18:32:06 +02:00
Oliver Schneider
63c4843503
Merge pull request #299 from RalfJung/rustfmt
...
rustfmt
2017-08-10 18:27:57 +02:00
Ralf Jung
1326aed02c
rustfmt
...
Except for error.rs, the result there looks rather ugly
2017-08-10 08:48:41 -07:00
Oliver Schneider
85fd3f8e43
Merge pull request #297 from RalfJung/mir-validate
...
Validation update
2017-08-10 10:18:54 +02:00
Ralf Jung
8e8c9c862c
turns out we can enable this sanity check now
2017-08-09 22:32:13 -07:00
Ralf Jung
34685044f9
add a bunch of compile-fail tests for validation
2017-08-09 18:01:10 -07:00
Ralf Jung
5e018b1deb
analyzing hashmap.rs uncovered a deeper problem; disable validation there for now
2017-08-09 15:49:47 -07:00
Ralf Jung
7b5f8a36ab
try harder to preserve regions when doing inference
...
This is not complete yet, but it is enough to make unsized-tuple-impls work.
2017-08-09 15:49:47 -07:00
Ralf Jung
bff1ad156e
integer-ops needs a rustc patch to work again
2017-08-09 15:49:47 -07:00
Ralf Jung
668491a892
Work on making validation test pass again
...
Turns out that tracking write locks by their lifetime is not precise enough,
but for now, we don't have an alternative. Also, we need to force_allocate
what we acquire or else the memory will not be in the right state.
2017-08-09 15:49:47 -07:00
Ralf Jung
11f0aedc3d
add some tests making sure we get the alias checking right
2017-08-09 15:49:47 -07:00
Ralf Jung
de80bcbdbf
some tests for RangeMap
2017-08-09 15:49:47 -07:00
Ralf Jung
65a31317a4
Merge pull request #295 from solson/oli-obk-patch-2
...
Don't rebuild miri even if nothing changed
2017-08-09 12:54:07 -07:00
Oliver Schneider
e71af86259
Merge branch 'master' into oli-obk-patch-2
2017-08-09 21:35:51 +02:00
Ralf Jung
e2de0b2709
Merge pull request #294 from oli-obk/cargo_miri
...
Make cargo_miri a feature
2017-08-09 11:15:59 -07:00
Oliver Schneider
4ce60abd84
Update build.rs
2017-08-09 18:05:34 +02:00
Oliver Schneider
7e6c497539
Make cargo_miri a feature
...
1. Speeds up the common compilation path (no serde in the dependency tree)
2. Stage 1 rustc is enough (no serde -> no custom derive)
2017-08-09 16:12:27 +02:00
Oliver Schneider
a6096fbfba
Merge pull request #292 from oli-obk/static_alloc_ids
...
Prepare for splitting off static alloc ids from local alloc ids
2017-08-09 16:06:14 +02:00
Oliver Schneider
91db25bdef
Rename destructure
method to into_alloc_id_kind
2017-08-09 14:54:37 +02:00
Oliver Schneider
81f5de7f05
rename memory::Kind
to memory::MemoryKind
2017-08-09 14:53:22 +02:00
Oliver Schneider
bba753deac
c_int != usize
2017-08-08 17:09:26 +02:00
Oliver Schneider
9e787fbd82
Dump all allocs when dumping locals
2017-08-08 17:09:26 +02:00
Oliver Schneider
897b563e70
clarify which function is pushing a global
2017-08-08 17:09:26 +02:00
Oliver Schneider
3ce57d1225
Remove unused function
2017-08-08 17:09:26 +02:00
Oliver Schneider
8ab1eeef51
Implement packed statics
2017-08-08 17:09:26 +02:00
Oliver Schneider
181851fc6b
Always allocate for globals
...
statics are rare and constants are copied anyway.
Reading from a constant should then yield a `ByVal` again if possible.
2017-08-08 17:09:26 +02:00
Oliver Schneider
4ba2b82f31
Split the alloc id address space into functions and normal allocs
...
instead of interleaving them as before.
The next step is to also separate out static memory into its own
address space.
2017-08-08 17:09:25 +02:00
Ralf Jung
14e8f500af
Merge pull request #291 from RalfJung/cross-platform
...
make xargo/build.sh more cross-platform
2017-08-07 14:45:29 -07:00
Ralf Jung
d0ac2b144d
make xargo/build.sh more cross-platform
2017-08-07 13:52:28 -07:00
Oliver Schneider
547f49ce8c
Merge pull request #288 from RalfJung/mir-validate
...
Re-do memory locking
2017-08-07 22:44:20 +02:00
Ralf Jung
847396e412
Re-do memory locking (again). Now with proper support for multiple independent shared borrows of the same mutable reference.
2017-08-07 12:57:32 -07:00
Ralf Jung
a98a68b2cb
Merge pull request #289 from RalfJung/rusutp
...
Update for Rust nightly
2017-08-07 12:57:14 -07:00
Oliver Schneider
e7d8037ebf
Rustup
2017-08-07 12:37:15 -07:00
Oliver Schneider
b59c0927f6
Merge pull request #283 from RalfJung/backtrace
...
Backtrace performance
2017-08-05 16:29:45 +02:00
Ralf Jung
2a1d7666ed
Merge pull request #286 from RalfJung/mir-validate
...
Update MIR validation and test it
2017-08-04 22:02:52 -07:00
Ralf Jung
fb2ed457c6
consolidate making Undef release a NOP in one place
2017-08-04 16:02:16 -07:00
Ralf Jung
ac49e7c650
only collect backtrace when RUST_BACKTRACE is set; resolve symbols lazily when printing
2017-08-04 10:55:35 -07:00
Oliver Schneider
8b449c3ead
Merge pull request #284 from oli-obk/no_more_llvm_madness
...
Rust reorders fields, but miri uses the order from the source files
2017-08-04 14:31:13 +02:00
Oliver Schneider
181bb30d07
Rustc reorders fields, but miri expects them in source order
2017-08-04 13:43:17 +02:00
Ralf Jung
4957031e3c
selectively disable validation in compile-fail where appropriate. cargo test now passes :)
2017-08-03 18:13:23 -07:00
Ralf Jung
9458111681
for now, disable validation on optimized tests -- inlining breaks validation
2017-08-03 18:13:23 -07:00
Ralf Jung
58a17026c9
Let -Zmir-emit-validate also control whether miri even acts on the validation commands
2017-08-03 18:13:23 -07:00
Ralf Jung
766a69f656
make test suite MIR validation aware. run-pass passes with and without fullmir, if optimizations are disabled!
2017-08-03 18:13:22 -07:00
Ralf Jung
3754572b0a
Release of an Undef local is fine, and a NOP
2017-08-03 18:12:48 -07:00