Commit Graph

1122 Commits

Author SHA1 Message Date
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
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