Ralf Jung
9a1dd865c1
whitelist Windows Mutex
2018-10-14 11:06:36 +02:00
Ralf Jung
62b819ba18
whitelist std::ptr::read
2018-10-12 10:40:44 +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
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
146f5d8d10
rustup; test for return type mismatch
2018-10-02 21:16:55 +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
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
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
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
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
1a23b3c313
rustup
2018-08-20 16:27:23 +02:00
Ralf Jung
259cc6e3dc
rustup for big refactor; kill most of validation
2018-08-16 10:30:43 +02:00
Ralf Jung
f0070fca1e
remove unnecessary features
2018-08-14 09:35:31 +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
e1a3b9606e
TLS on Windows
2018-07-16 11:42:46 +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
bjorn3
52bf4732fd
Fix some clippy lints
2018-07-10 17:32:38 +02:00
Alexander Regueiro
5b7bb32b0e
Rustup
2018-07-02 17:00:36 +01:00
Oliver Schneider
e1dbbe538f
Rustup
2018-07-01 16:01:42 +02:00
Dylan MacKenzie
5a7f4412ee
Implement Eq
and Hash
for MemoryData and Evaluator
...
In order to implement infinite loop detection while executing MIR, both
the implementor of `Machine` (`Evaluator`) and its associated type
(`MemoryData`), must implement `Eq` and `Hash`. This PR adds the
required trait implementations.
It's possible that the `Hash` implementations need to be improved; only
the `env_vars` field of `Evaluator` and the `thread_local` field of
`MemoryData` are actually being hashed. Omitting fields from a `Hash`
implementation is not incorrect, but could lead to collisions if the
ignored fields are changing constantly. Perhaps I should instead derive
`Hash` on a few more fields related to MIR validation?
2018-06-29 17:50:57 -07:00
bjorn3
d1de6781e8
Add missing pub
2018-06-12 07:30:29 +02:00
bjorn3
b04391c565
Split create_ecx out of eval_main
2018-06-11 18:51:40 +02:00
bjorn3
60669cbdfd
Rustup to rustc 1.28.0-nightly ( 2a0062974
2018-06-09)
2018-06-10 11:23:56 +02:00
bjorn3
94754de600
Convert legitimate failing errors to the new error format
2018-06-05 18:08:18 +02:00
Oliver Schneider
e1734470e7
Reenable the rustc tester
2018-06-03 13:08:51 +02:00
Oliver Schneider
cec51f8513
Use correct bit size when reading usize values
2018-06-03 13:08:51 +02:00
Oliver Schneider
8284b4e912
to_u64
and to_bytes
are horribly easy to use wrongly.
2018-06-03 13:08:51 +02:00
Oliver Schneider
1d9c56ddf4
TlsKey is messy because it changes types between systems
2018-06-03 13:08:51 +02:00
Oliver Schneider
1bd088a96c
memcmp
returns i32
2018-06-03 13:08:51 +02:00
bjorn3
4143922d1d
Partial rustup
2018-06-03 13:08:51 +02:00
bjorn3
1437a975d6
s/allocate_cached/allocate_bytes
2018-06-03 13:08:51 +02:00
bjorn3
98802769a1
Rustup to rustc 1.28.0-nightly ( a3085756e
2018-05-19)
2018-06-03 13:08:51 +02:00
Oliver Schneider
27fe263669
Move back to a normal folder structure
2018-05-09 14:37:00 +02:00
Oliver Schneider
4cfa7c5d12
Prep miri repository for rustc merger
2017-07-21 11:30:56 +02:00
Oliver Schneider
d9d792ba03
Export types and functions needed by priroda
2017-07-19 11:06:07 +02:00
Oliver Schneider
4ce8be9538
Produce ConstInt
from a def_id
for rustc
2017-07-12 10:38:54 +02:00
Oliver Schneider
2d52054fb2
Rename Pointer to MemoryPointer
2017-07-11 10:32:01 +02:00