Commit Graph

384 Commits

Author SHA1 Message Date
Oliver Schneider 58a59e9d23 Rustup (generator support) 2017-08-30 13:16:27 +02:00
Ralf Jung e6a874b0bf test new From instances for Rc 2017-08-29 16:51:26 +02:00
Oliver Schneider 506a5c7910 Mir optimizations treat single variant enums as structs 2017-08-29 12:26:20 +02:00
Oliver Schneider 88fc45b37c Get some more rustc tests working 2017-08-29 11:58:22 +02:00
Oliver Schneider 206f0bd6df Fix panic in subslice patterns of arrays (fixes #276) 2017-08-29 10:03:00 +02:00
Oliver Schneider f817f1c660 Get rid of env var race condition once and for all 2017-08-28 17:32:21 +02:00
Oliver Schneider dd5b0100f3 Merge remote-tracking branch 'origin/master' into memory 2017-08-28 16:13:09 +02:00
Oliver Schneider 385b5b9fd1 Merge branch 'master' into priroda 2017-08-28 15:37:10 +02:00
Oliver Schneider 02a0f0f814 Turn off validation for some compile-fail tests 2017-08-28 15:04:32 +02:00
Oliver Schneider 9d10e0154b Mir validation can't cope with mem::uninitialized::<SomeEnum>() 2017-08-28 14:53:43 +02:00
Oliver Schneider e28f4a8e3e Add a regression test for #313 2017-08-28 14:10:59 +02:00
Ralf Jung 907d2c7310 rustc #43457 got fixed, we can enable more tests 2017-08-27 18:18:32 +02:00
Ralf Jung 2307d6fc5b Merge branch 'master' into memory 2017-08-26 13:51:13 +02:00
Ralf Jung 2e28e14474 reorder lets so that build_dir is deleted last 2017-08-26 13:23:04 +02:00
Ralf Jung df20c0684c use tempdir to create a dedicated directory for each test 2017-08-26 13:12:55 +02:00
Ralf Jung ac80212f7e move tests with MIR-opt to their own function we we can run them separately 2017-08-25 19:21:10 +02:00
Ralf Jung f036fe0d32 refactor memory read API: provide only size-based, no type-based methods 2017-08-25 16:20:13 +02:00
Ralf Jung 8539728607 memory: make sure we check non-NULL/undef even fore 0-sized accesses 2017-08-25 14:41:59 +02:00
Ralf Jung e332ab9b13 Handle closures in get_field_ty
Fixes #304
2017-08-24 13:34:05 +02:00
Ralf Jung 2fccae8aac add another compile-fail test for validation 2017-08-18 11:30:18 +02:00
Ralf Jung 90edc03eea Add a test demonstrating the limitations of our lfietime resolution 2017-08-18 11:29:51 +02: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 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
Ralf Jung 1326aed02c rustfmt
Except for error.rs, the result there looks rather ugly
2017-08-10 08:48:41 -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 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
Oliver Schneider 8ab1eeef51 Implement packed statics 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 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 2a1d7666ed Merge pull request #286 from RalfJung/mir-validate
Update MIR validation and test it
2017-08-04 22:02:52 -07: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
Oliver Schneider 726b027ba3 Merge pull request #280 from solson/archeology
Produce backtraces for miri internals
2017-08-03 23:02:29 +02:00
Ralf Jung 2cf394955b actually, we can use a plain constant 2017-08-03 12:58:34 -07:00
Ralf Jung 0f43321178 no need to do run-time formatting 2017-08-03 12:39:55 -07:00
Ralf Jung de1376f923 Add a build script to inform the binary about its profile, and use that in the test suite 2017-08-03 11:38:00 -07:00
Ralf Jung c533cf8496 fix size_of_val on unsized tuples 2017-08-02 15:29:13 -07:00
Oliver Schneider 40677a5c47 Choose release miri for release tests 2017-08-02 18:28:12 +02:00
Oliver Schneider f8c61da070 Add a test for untagged unions 2017-08-02 12:56:07 +02:00
Oliver Schneider adfea61665 Allow machines to create new memory kinds 2017-08-01 09:56:21 +02:00
Oliver Schneider 11e30a65e6 Split up miri into the librustc_mir and bin parts 2017-08-01 09:56:21 +02:00
Ralf Jung 4672cb7bde make force_allocation handle packed ByValPair 2017-07-26 23:45:22 -07:00