Ralf Jung
|
74635a57e2
|
re-do large parts of stacked borrows, now with proper support for partiall frozen data
|
2018-11-08 08:29:34 +01:00 |
|
Ralf Jung
|
efd2f0e0e4
|
move new test to correct dir
|
2018-11-03 12:33:14 +01:00 |
|
Ralf Jung
|
e68687b840
|
test that we check the layout constraints as early as we can
|
2018-11-03 12:25:57 +01:00 |
|
Ralf Jung
|
5f42aa61d5
|
illegal_write2 does not work with optimizations
|
2018-11-03 10:23:50 +01:00 |
|
Ralf Jung
|
81534496dc
|
rename RefKind to UsageKind, because it not only used for references now
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
85f821d7e9
|
unify checks on memory access and reborrowing, and update for Machine trait change
|
2018-11-01 08:58:03 +01:00 |
|
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
|
40b7502613
|
Reject atomic arithmetic on non-integer types
Fixes #181
|
2018-10-31 11:04:35 +01:00 |
|
Ralf Jung
|
1fa0ff88c0
|
fix nits
|
2018-10-30 10:41:01 +01:00 |
|
Ralf Jung
|
356369dd08
|
test against passing invalid shared refs around
|
2018-10-23 16:01:22 +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
|
cc328f6374
|
test passing invalid refs around
|
2018-10-23 11:20:04 +02:00 |
|
Ralf Jung
|
8cd73e534f
|
use as(_mut)_ptr on slices to entirely escape them to raw
|
2018-10-22 18:51:06 +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
|
fda03e9d7d
|
some more compile-fail tests
|
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
|
957d18c343
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-10-22 08:41:01 +02:00 |
|
Ralf Jung
|
8134918390
|
don't use NOTE in tests
|
2018-10-19 12:29:49 +02:00 |
|
Ralf Jung
|
b9fe91e486
|
fix for ptr-to-raw casts properly erasing the tag
|
2018-10-18 12:04:41 +02:00 |
|
Ralf Jung
|
1907782b64
|
reenable some tests that work now, and organize them better with directories
|
2018-10-17 16:58:54 +02:00 |
|
Ralf Jung
|
c9cf0344ee
|
enable validation for compile-fail tests, and add some new ones
|
2018-10-12 10:54:37 +02:00 |
|
Ralf Jung
|
a439262859
|
Merge branch 'master' into ptr-offset
|
2018-10-10 10:03:34 +02:00 |
|
Ralf Jung
|
233516b54d
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-10-10 09:07:26 +02:00 |
|
Ralf Jung
|
0641d5b6d3
|
0-offset is also not always okay
|
2018-10-09 20:13:46 +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
|
59eb3dbdae
|
use Box::into_raw
|
2018-10-07 10:35:34 +02:00 |
|
Ralf Jung
|
959693f1e5
|
ensure that we cannot use (wrapping_)offset to go from an int ptr to a real ptr
|
2018-10-06 18:32:39 +02:00 |
|
Ralf Jung
|
146f5d8d10
|
rustup; test for return type mismatch
|
2018-10-02 21:16:55 +02:00 |
|
Ralf Jung
|
e8f6973e2d
|
fix test for latest rustc
|
2018-09-29 19:39:34 +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
|
cd138bcd0b
|
test more operations on dangling ZST pointers
|
2018-09-17 10:02:31 +02:00 |
|
Ralf Jung
|
130d803b32
|
fix test for rustup
|
2018-09-17 09:18:57 +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
|
95eb77c18e
|
add some compile-fail tests
|
2018-09-16 17:29:53 +02:00 |
|
Ralf Jung
|
1697b93ed9
|
Merge branch 'master' into rustup
|
2018-09-01 10:35:19 +02:00 |
|
Ralf Jung
|
f56841d974
|
unignore a bunch of tests that actually work
|
2018-08-30 15:57:17 +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
|
e239fcffc1
|
new tests for new fn arg passing code
|
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
|
0db1c6a1b0
|
ignore memory leaks on Windows
|
2018-08-30 08:57:33 +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
|
40cc72604a
|
update for bool/char being checked at binops
|
2018-08-24 19:18:21 +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
|
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
|
354ec11c3e
|
try using types with lower alignment, maybe that helps for Windows
|
2018-08-14 18:52:13 +02:00 |
|