2107 Commits

Author SHA1 Message Date
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
Oliver Schneider
9143a69f4b
Merge pull request #386 from mati865/rustup
Rustup
2018-06-29 15:01:11 +02:00
Mateusz Mikuła
d4b98b221d Rusutp 2018-06-29 14:10:57 +02:00
Oliver Schneider
9d8945e3e8
Merge pull request #385 from bjorn3/patch-1
Add missing pub
2018-06-12 06:28:20 -07:00
bjorn3
d1de6781e8
Add missing pub 2018-06-12 07:30:29 +02:00
Oliver Schneider
51f0035faa
Merge pull request #384 from bjorn3/create_ecx
Split create_ecx out of eval_main
2018-06-11 10:38:39 -07:00
bjorn3
b04391c565 Split create_ecx out of eval_main 2018-06-11 18:51:40 +02:00
Oliver Schneider
0f7513a4ee
Merge pull request #383 from bjorn3/rustup
Rustup to rustc 1.28.0-nightly (2a0062974 2018-06-09)
2018-06-10 17:24:47 +02:00
bjorn3
25ca33d107 Fix rustc_tests 2018-06-10 11:47:04 +02:00
bjorn3
60669cbdfd Rustup to rustc 1.28.0-nightly (2a0062974 2018-06-09) 2018-06-10 11:23:56 +02:00
Oliver Schneider
0755fd6429
Merge pull request #376 from bjorn3/fix_some_tests
Fix a couple of compile-fail tests
2018-06-05 18:37:22 +02:00
bjorn3
ac25a513af Re-enable never_transmute_humans.rs 2018-06-05 18:08:18 +02:00
bjorn3
94754de600 Convert legitimate failing errors to the new error format 2018-06-05 18:08:18 +02:00
bjorn3
8ae66db798 Convert some of the tests to the new format 2018-06-05 18:08:18 +02:00
bjorn3
569792acbc Address some review comments 2018-06-05 18:08:18 +02:00
bjorn3
3db0568c40 Fix a couple of tests 2018-06-05 18:08:18 +02:00
Oliver Schneider
9ba64e290a
Merge pull request #380 from solson/rustup
Rustup
2018-06-03 16:47:48 +02:00
Oliver Schneider
ae61193dc5 Merge remote-tracking branch 'origin/master' into rustup 2018-06-03 16:28:35 +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
c8ff634f82 Enable backtraces for tests 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
10078dd6d0 Reenable the rustc tester 2018-06-03 12:54:43 +02:00
Oliver Schneider
dbadf1e3fb Update cargo-miri 2018-06-03 12:13:30 +02:00
Oliver Schneider
e29b696e8d Use correct bit size when reading usize values 2018-06-03 11:54:17 +02:00
Oliver Schneider
066a284557 to_u64 and to_bytes are horribly easy to use wrongly. 2018-05-30 17:43:54 +02:00
Oliver Schneider
ea2c8bfb04 align_offset intrinsic is now a lang item 2018-05-30 17:43:27 +02:00
Oliver Schneider
e4f075459c TlsKey is messy because it changes types between systems 2018-05-30 15:59:04 +02:00
Oliver Schneider
ac667d372f Comparing non-pointer-size types should be possible 2018-05-30 14:30:15 +02:00
Oliver Schneider
f927014c8a Comparing Scalar's with differend defined values is false 2018-05-30 14:29:54 +02:00
Oliver Schneider
b0ee05e861 memcmp returns i32 2018-05-30 14:29:32 +02:00
bjorn3
49ca174648 Partial rustup 2018-05-26 17:07:34 +02:00
bjorn3
850841e9ed
s/allocate_cached/allocate_bytes 2018-05-25 14:37:12 +02:00
bjorn3
7d953a65f3 Rustup to rustc 1.28.0-nightly (a3085756e 2018-05-19) 2018-05-20 11:26:40 +02:00
Oliver Schneider
04608016ec
trans -> codegen_backend 2018-05-19 14:09:29 +02:00
bjorn3
d3b9085f1a Rustup to rustc 1.28.0-nightly (952f344cd 2018-05-18) 2018-05-19 12:14:13 +02:00
bjorn3
1bf0ffcb27
Enable backtraces for tests 2018-05-13 15:32:35 +02:00
bjorn3
68378a7b97 Rustup to rustc 1.27.0-nightly (ff2ac35db 2018-05-12) 2018-05-13 13:19:38 +02:00