Commit Graph

1242 Commits

Author SHA1 Message Date
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
Ralf Jung
1ce05523c4 remove needs_drop impl 2018-10-01 08:24:42 +02:00
Ralf Jung
8d7cdbb853 rustup 2018-09-20 12:24:55 +02:00
Ralf Jung
ea4232cf22 Move TLS data to machine data
There is no good reason to let the machine store stuff in the machine *and* in memory. I plan to get rid of the latter.
2018-09-20 01:00:59 +02:00
Ralf Jung
18d7394071 more compile-fail ptr equality tests, to rule out any non-determinism; and fix ptr equality to fail all of them.
At least these are the cases I can think of right now.
2018-09-17 10:02:31 +02:00
Ralf Jung
95d79cc11e Merge remote-tracking branch 'origin/master' into zero-sized-accesses 2018-09-17 08:39:59 +02:00
Ralf Jung
f925e5dafd cargo miri: show version number 2018-09-16 15:18:18 +02:00
Ralf Jung
b488b51b66 bump Rust 2018-09-15 10:34:45 +02:00
Ralf Jung
d889da43f8 move MemoryData to memory.rs; remove all the Hashing stuff 2018-09-09 11:01:15 +02:00
Tim
72918c1a97 Remove (overflowing_)add/mul/sub(_with_overflow) 2018-09-06 16:49:08 +02:00
Tim
055c63ab0d Remove unchecked_shr/shl from intrinsics 2018-09-06 16:07:13 +02:00
Ralf Jung
6dff6e84d7
Merge branch 'master' into master 2018-09-01 11:47:52 +02:00
thedarkula
90d7cb2493 Removed transmute from intrinsic.rs 2018-09-01 11:47:20 +02:00
Ralf Jung
d3928f6356 more permissive pointer comparison logic 2018-09-01 11:26:54 +02:00
Ralf Jung
2a318264ea also allow comparing pointers with integers so big that they cannot be equal 2018-08-30 11:05:52 +02:00
Ralf Jung
fe9cd1c98d strictly enforce pointer validity even for zero-sized accesses 2018-08-30 10:50:13 +02:00
Ralf Jung
c44267960f ptr equality: only defined for ptrs in the same allocation and live ptrs 2018-08-30 10:46:09 +02:00
Ralf Jung
904923fa7a move some more helpers to rustc 2018-08-30 10:42:18 +02:00
Ralf Jung
2a244dcb48 no TLS dtor and no leak checks on macOS 2018-08-30 09:41:57 +02:00
Ralf Jung
e2ec521f21 pretend mprotect works 2018-08-30 09:22:01 +02:00
Ralf Jung
b4ebe72b1b stack address functions for macOS 2018-08-30 09:04:57 +02:00
Ralf Jung
0db1c6a1b0 ignore memory leaks on Windows 2018-08-30 08:57:33 +02:00
Ralf Jung
1b41b71827 update for MUT_STATIC_KIND 2018-08-26 13:19:03 +02:00
Ralf Jung
1ba6140891 rustup 2018-08-25 21:22:06 +02:00
Ralf Jung
823837922b update for enum discriminant changes 2018-08-25 11:07:21 +02:00
Ralf Jung
bb5079b2bf rustup 2018-08-24 19:49:57 +02:00
Ralf Jung
42bce6cb36 rustup 2018-08-24 17:44:04 +02:00
Ralf Jung
2ee4aac62f fix leaks with -Zmiri-start-fn 2018-08-24 16:45:08 +02:00
Ralf Jung
1a4ad2bb9f update for miri engine: new function handling, new static handling, fixed leaks 2018-08-24 16:45:08 +02:00
Ralf Jung
68194180a8 fix type renaming 2018-08-23 09:29:27 +02:00
Ralf Jung
ee7f22245d Merge remote-tracking branch 'origin/master' 2018-08-20 18:57:48 +02:00
Ralf Jung
1a23b3c313 rustup 2018-08-20 16:27:23 +02:00
Ralf Jung
6203bf445f update for rustc memory changes; fix (un)init intrinsic for ZST 2018-08-18 11:59:28 +02:00
Ralf Jung
ea27e46a38 fix compilation after rustc change 2018-08-17 09:36:53 +02:00
Ralf Jung
c424e21692 update for memory signedness removal; test some float casts 2018-08-16 11:35:38 +02:00
Ralf Jung
259cc6e3dc rustup for big refactor; kill most of validation 2018-08-16 10:30:43 +02:00
Ralf Jung
1179d4f8a4 fix int ptr ops on 32bit 2018-08-14 20:25:56 +02:00
Ralf Jung
04b925135d fix modulo logic 2018-08-14 20:10:25 +02:00
Ralf Jung
2b40d39c1e support computing the remainder of a ptr, if covered by alignment 2018-08-14 20:10:25 +02:00
Ralf Jung
1fbf998b65 Fix remaining windows hooks 2018-08-14 19:47:41 +02:00
Ralf Jung
e10d83c8bb fix windows hooks 2018-08-14 18:52:13 +02:00
Ralf Jung
ad5403e2e5 fix layout in discriminant_value 2018-08-14 15:58:49 +02:00
Ralf Jung
f0070fca1e remove unnecessary features 2018-08-14 09:35:31 +02:00
Oliver Schneider
7b4402746f Add comments explaining why we do something complex for (un)init 2018-08-08 10:34:49 +02:00
Oliver Schneider
be91aea0fa Rustup 2018-08-07 15:22:11 +02:00
Ralf Jung
3783cebe80 remove dependency on lazy_static and regex by getting rid of some dead validation hack 2018-08-02 12:16:09 +02:00
Ralf Jung
ff3efb4e04 clarify error message when sysroot was not found 2018-07-30 14:49:01 +02:00
Ralf Jung
bb6e7c8243
Merge branch 'master' into sanity_checks 2018-07-30 08:51:34 +02:00
Ralf Jung
f6d4814fb3 detect another printing function for nicer error 2018-07-26 17:31:00 +02:00
Ralf Jung
851f2ab98e test cargo miri output 2018-07-26 16:43:51 +02:00
Ralf Jung
e849fa47fb make miri compile again 2018-07-26 11:21:49 +02:00
Oliver Schneider
53114e3b36 Update to rustc sanity check branch 2018-07-26 11:21:49 +02:00
Oliver Schneider
b055ff03f1 Produce the exit codes that compiletest expects 2018-07-25 17:28:16 +02:00
Ralf Jung
f9a8d2618e fix for latest rust nightly 2018-07-16 22:26:32 +02:00
Ralf Jung
e1a3b9606e TLS on Windows 2018-07-16 11:42:46 +02:00
Ralf Jung
216b8f7407 shim some Windows functions 2018-07-16 10:27:19 +02:00
Ralf Jung
5be8bd987d Test some new capabilities we gained from a rustc update 2018-07-15 21:25:20 +02:00
Ralf Jung
60d18dbf87 handle all foreign items like we handle C ABI shims 2018-07-15 21:03:52 +02:00
Ralf Jung
30185d09f6 make sure we show error messages even when we cannot show span 2018-07-15 11:40:57 +02:00
Ralf Jung
a2f4d84f73
Merge branch 'master' into eq-hash 2018-07-13 08:29:42 +02:00
Ralf Jung
0e0f52df75
Merge branch 'master' into start-fn 2018-07-11 21:30:24 +02:00
Ralf Jung
e5de51a322 use -Zmiri-start-fn as a clue to REQUIRE the lang item to be present 2018-07-11 20:25:27 +02:00
Ralf Jung
dd7cc47e5c document -Zmiri-start-fn; make its logic more clear 2018-07-11 19:39:09 +02:00
Ralf Jung
197b75764c without aux builds, we don't need to set always-encode-mir any more 2018-07-11 19:36:45 +02:00
Ralf Jung
7023126094 stop producing binaries 2018-07-11 19:36:45 +02:00
bjorn3
52bf4732fd Fix some clippy lints 2018-07-10 17:32:38 +02:00