1292 Commits

Author SHA1 Message Date
bjorn3
f321593655 Workaround for rustc bug 2018-07-10 17:20:07 +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
Mateusz Mikuła
d4b98b221d Rusutp 2018-06-29 14:10:57 +02: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
675587280f Update cargo-miri 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
77c8582031 align_offset intrinsic is now a lang item 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
062be7c047 Comparing non-pointer-size types should be possible 2018-06-03 13:08:51 +02:00
Oliver Schneider
9655aaf3aa Comparing Scalar's with differend defined values is false 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
601673d06f trans -> codegen_backend 2018-06-03 13:08:51 +02:00
bjorn3
b906ce84ec Rustup to rustc 1.28.0-nightly (952f344cd 2018-05-18) 2018-06-03 13:08:51 +02:00
bjorn3
574aa3bc42 Rustup to rustc 1.27.0-nightly (ff2ac35db 2018-05-12) 2018-06-03 13:08:51 +02:00
Oliver Schneider
20c2e0bede
Test miri on mac os 2018-05-11 11:29:18 +02:00
bjorn3
8d6a893a4a Rustup to 1.27.0-nightly (acd3871ba 2018-05-10) 2018-05-11 09:38:13 +02:00
Oliver Schneider
27fe263669
Move back to a normal folder structure 2018-05-09 14:37:00 +02:00
Oliver Schneider
52599adf27
Miri core has moved to rustc::mir::interpret 2017-10-06 17:13:59 +02:00
king6cong
6221bbc5a7 update trans_fulfill_obligation call signature 2017-09-30 14:55:16 +08:00
Ralf Jung
a8980fd5e8 use exchange_malloc lang item for Box statements 2017-09-25 15:55:21 +02:00
Ralf Jung
1ad9709e00 get rid of ad-hoc inhabitedness test 2017-09-22 13:24:55 +02:00
Ralf Jung
8509dbbafe validation: allow undef integers and raw pointers, as a crude work-around 2017-09-16 12:08:26 +02:00
Ralf Jung
2ea6663440 validation: check that int, float etc. are not undef 2017-09-16 11:45:56 +02:00
Oliver Schneider
ec5820c273
Use rustc's APFloat impl instead of interpreter host floats 2017-09-15 15:06:27 +02:00
Oliver Schneider
8cbfbf77f8
Remove #[linkage(foo)] statics from core miri 2017-09-15 13:03:07 +02:00
Ralf Jung
9db9308a79 Storage{Live,Dead} in generators got fixed 2017-09-15 08:58:12 +02:00
Ralf Jung
91d9b83db2 validation: remove a hack that is no longer necessary 2017-09-14 10:00:37 +02:00
Ralf Jung
59a329d4f7 use catch expression to handle the 'release undef' problem slightly better 2017-09-13 15:46:53 +02:00
Ralf Jung
bac89ae1d8 enable validation for a bunch of more tests 2017-09-13 15:46:53 +02:00
Ralf Jung
aa578de018 identify write locks by lvalues, not regions
This makes a new compile-fail test pass.
2017-09-13 14:37:31 +02:00
Oliver Schneider
2cf984d76e
This is unreachable code and it should never ever be reachable even in the future 2017-09-13 14:21:07 +02:00
Oliver Schneider
c47ee6b521
Rustup part 2/2 2017-09-13 13:46:54 +02:00
Ralf Jung
79993e63a0 rustup (part 1/2) 2017-09-13 12:58:25 +02:00
Ralf Jung
a1f71af5b2 restrict cur_frame visibility 2017-09-09 11:37:00 +02:00
Ralf Jung
41f228824f fix warnings in tests; update validation whitelist 2017-09-09 11:18:02 +02:00
Ralf Jung
1591977432 clean up suspensions when function ends 2017-09-09 11:18:02 +02:00
Oliver Schneider
bc2f9259e6 rustup 2017-09-09 11:18:02 +02:00
Oliver Schneider
e9315a60e4 Rustup 2017-09-06 10:10:15 +02:00
Ralf Jung
9a273e0192 update backtrace to newly released version 2017-09-04 12:37:42 +02:00
Ralf Jung
10101dd9f4 rename variables to match new type name 2017-09-04 12:13:05 +02:00