Commit Graph

1207 Commits

Author SHA1 Message Date
Ralf Jung
bba3c49e84 basic retagging (no fn_entry); this also makes us catch more bugs even with optimizations and we can finally stop mutating the state on deref 2018-11-01 08:58:03 +01:00
Ralf Jung
7ac0e79ad5 stub Retag hook; fix tests for removal of -Zmir-emit-validate 2018-11-01 08:58:03 +01:00
Ralf Jung
fba55ba2a9 make the -Z flags we use more consistent 2018-11-01 08:58:03 +01:00
Ralf Jung
1fe925e758
Merge branch 'master' into atomic-arith 2018-10-31 11:19:26 +01:00
Ralf Jung
40b7502613 Reject atomic arithmetic on non-integer types
Fixes #181
2018-10-31 11:04:35 +01:00
Ralf Jung
016009a301 properly recognize log levels 2018-10-31 10:58:19 +01:00
Ralf Jung
5397f2e436 when using MIRI_LOG, avoid logging for what rustc does before miri gets started 2018-10-31 10:53:37 +01:00
Ralf Jung
7a6a68731e remove unused extern crate 2018-10-31 10:19:20 +01:00
Ralf Jung
cd256448d5 dumping locals with MIRI_BACKTRACE=1 is feasible now 2018-10-31 10:16:42 +01:00
Ralf Jung
eb153810e3 Use MIRI_ env vars to set RUST_ ones
This means we can do `MIRI_LOG=debug cargo run` and get something reasonable,
even if cargo has to build some dependencies first.
2018-10-31 10:09:55 +01:00
Ralf Jung
1fa0ff88c0 fix nits 2018-10-30 10:41:01 +01:00
Ralf Jung
559f63a2b6 Merge remote-tracking branch 'origin/master' into rustup 2018-10-30 08:40:30 +01:00
Ralf Jung
4ccdcdcace rustup 2018-10-29 09:15:15 +01:00
Ralf Jung
4a98f64142 Merge remote-tracking branch 'origin/master' into rustup 2018-10-26 15:06:21 +02:00
Ralf Jung
d890a70c39 update for is_null removal 2018-10-25 11:37:42 +02:00
Ralf Jung
a34b9c7b70 make some things public for the benefit of priroda 2018-10-24 11:39:31 +02:00
Ralf Jung
5388037f8a remove code duplication by letting reactivatable() compute what reactivate() has to do 2018-10-23 15:59:50 +02:00
Ralf Jung
fe83ef323c also run compile-fail tests with and without optimizations 2018-10-23 13:09:17 +02:00
Ralf Jung
26bb4f79dc get rid of implicit Raw at bottom of stack; locals get a uniq at their bottom 2018-10-22 18:17:37 +02:00
Ralf Jung
01828fde53 respect memory's privacy 2018-10-22 16:48:10 +02:00
Ralf Jung
dd1558f337 rustc update and be very selective about what we accept on a deref 2018-10-22 16:48:09 +02:00
Ralf Jung
1ae1b9bfea adapt to rustc API changes and factor out computing the tag for ty+mutbl 2018-10-22 16:45:03 +02:00
Ralf Jung
1a7fb7ec3c expand comment about incomplete support for interior mutability 2018-10-22 12:51:47 +02:00
Ralf Jung
957d18c343 Merge remote-tracking branch 'origin/master' into rustup 2018-10-22 08:41:01 +02:00
Ralf Jung
069b661a10 typo 2018-10-19 10:09:53 +02:00
Ralf Jung
0b6e349417 automalically use start-fn if we have all the MIR 2018-10-19 10:07:17 +02:00
Ralf Jung
186e42d088 move resolve_path to helpers module 2018-10-19 09:54:41 +02:00
Andrew Poelstra
4fa5bfa2bb add some comments to clarify command-line argument munging in #482 2018-10-17 20:24:52 +00:00
Ralf Jung
b259512c57 bump for ENABLE_PTR_TRACKING_HOOKS, and remove some dead code 2018-10-17 17:36:07 +02:00
Ralf Jung
d4b78b36ab stacked borrows: enforcement at memory accesses 2018-10-17 15:15:53 +02:00
Ralf Jung
66b4bb7cf2 stacked borrows: track refs and derefs 2018-10-16 18:35:27 +02:00
Ralf Jung
348f782085 add env var emulation test, and fix it complaining about leaks 2018-10-16 18:35:27 +02:00
Ralf Jung
b84f7e2029 add Borrow tag to pointers; remove old locking code 2018-10-16 18:35:27 +02:00
Andrew Poelstra
4faf8fad10 cargo-miri: support running unit tests for libraries as well as test binaries 2018-10-15 18:38:07 +00:00
Ralf Jung
88ec62640e make rustc-tests a binary in the main project 2018-10-14 11:48:15 +02:00
Ralf Jung
9a1dd865c1 whitelist Windows Mutex 2018-10-14 11:06:36 +02:00
Ralf Jung
837a17625a Merge remote-tracking branch 'origin/master' into rustup 2018-10-14 10:35:27 +02:00
Ralf Jung
62b819ba18 whitelist std::ptr::read 2018-10-12 10:40:44 +02:00
Ralf Jung
b99e1267be atomics wrap around on overflow 2018-10-12 09:08:17 +02:00
Ralf Jung
1846f111c9 fix return place for __rust_maybe_catch_panic 2018-10-11 15:28:21 +02:00
Ralf Jung
e4dfb7013b enable validation per default, but add a flag to disable it and use that for some run-pass tests
compile-fail does not do validation yet
2018-10-11 11:24:22 +02:00
Ralf Jung
d94d32e937 enforce_validity became a function 2018-10-11 09:02:28 +02:00
Ralf Jung
791f464ea0 update for size_and_align considering extern types 2018-10-11 08:59:39 +02:00
Ralf Jung
ce5b183e8b update for new return place handling 2018-10-11 08:59:39 +02:00
Ralf Jung
8ea8cd2919 update for ptr provenance 2018-10-11 08:42:26 +02:00
Ralf Jung
a439262859
Merge branch 'master' into ptr-offset 2018-10-10 10:03:34 +02:00
Ralf Jung
edf28fa227 only allow offset-by-0 on integer pointers 2018-10-09 20:13:46 +02:00
Ralf Jung
cc275c63a9 fix for fn allocations now having an alignment (1) and a size (0) 2018-10-08 13:35:54 +02:00
Ralf Jung
146f5d8d10 rustup; test for return type mismatch 2018-10-02 21:16:55 +02:00
Ralf Jung
72cd905484 rustup 2018-10-02 09:25:55 +02:00