Commit Graph

120 Commits

Author SHA1 Message Date
Aaron Hill
73239573c9
Implement non-deterministc mode
Part of #653

This allows us to properly implement getrandom(),
which unlocks the default HashMap type (e.g. HashMap<K, V>)
with RandomState)

This commit adds a new '-Zmiri-seed=<seed>' option. When present,
this option takes a 64-bit hex value, which is used as the seed
to an internal PRNG. This PRNG is used to implement the 'getrandom()'
syscall.

When '-Zmiri-seed' is not passed, 'getrandom()' will be disabled.
2019-04-07 19:26:20 -04:00
Manish Goregaokar
3002bbd4ac Update compiletest 2019-04-07 14:33:28 -07:00
Ralf Jung
133f2ce4e5 pin old compiletest, for now 2019-03-21 10:24:22 +01:00
Ralf Jung
d96ece3806 move back to unstable compiletest; the stable one broke 2019-03-20 10:09:49 +01:00
Ralf Jung
6265f6658e the stable part of compiletest_rs is enough 2019-03-01 09:16:14 +01:00
Taiki Endo
441442e071 Update some links 2019-02-23 19:56:29 +09:00
Ralf Jung
17e05540ad we can't have profiles because we are also in the rustc worksapce 2019-02-17 12:09:38 +01:00
Ralf Jung
5e468766b7 also pass actual arguments to Windows 2019-02-09 20:00:40 +01:00
Ralf Jung
e36a90de98 make release builds have debug info 2019-02-07 12:59:35 +01:00
Ralf Jung
e759da6b4b bump env_logger 2018-12-26 11:25:20 +01:00
Eric Huss
d801daf3e5 Add rustc-workspace-hack. 2018-12-16 19:34:00 -08:00
Ralf Jung
b6eb2cd08e cargo miri: support foreign targets 2018-12-10 09:53:14 +01:00
Ralf Jung
07f78a37d4 tweaks 2018-11-27 08:16:58 +01:00
Ralf Jung
738133b379 complete setup routine: instal rust-src, build libstd, use it 2018-11-27 08:16:58 +01:00
Ralf Jung
6bd76c7ee1 cargo miri: factor package manifest logic into separate function 2018-11-27 08:16:58 +01:00
Ralf Jung
54307cd888 bump compiletest so that we can share the tempdir() call 2018-11-09 14:04:22 +01:00
Ralf Jung
f6d6470bc4 move to 2018 edition
I want NLL :D
2018-11-05 15:45:27 +01:00
Ralf Jung
f7741bcfe0 bump compiletest 2018-10-29 09:15:58 +01:00
Ralf Jung
88ec62640e make rustc-tests a binary in the main project 2018-10-14 11:48:15 +02:00
Ralf Jung
5f2c74e022 update to vergen 3 2018-10-09 20:17:54 +02:00
Ralf Jung
f925e5dafd cargo miri: show version number 2018-09-16 15:18:18 +02:00
Ralf Jung
51dbb5aa29 tweak test config in Cargo.toml 2018-08-14 20:57:58 +02:00
Ralf Jung
d3821888c7
Merge branch 'master' into default-run 2018-08-02 19:44:13 +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
b45885d31f Revert "Disable blood letting edge features"
This reverts commit 305d8aeafe.
2018-08-01 16:34:39 +02:00
Oliver Schneider
e6f1e15676 Bump min dependency version 2018-07-26 14:37:43 +02:00
Oliver Schneider
305d8aeafe Disable blood letting edge features 2018-07-26 11:21:49 +02:00
Ralf Jung
2a29ed0142 use default-run 2018-07-22 09:48:49 +02:00
Ralf Jung
4fdcccdc70
Merge branch 'master' into tests 2018-07-12 11:34:26 +02:00
Ralf Jung
9718d73ac8 colored test output! 2018-07-12 11:26:09 +02:00
Ralf Jung
8ce16a7c30 remove xargo logic; instead rely on MIRI_SYSROOT being set to run full MIR tests 2018-07-12 11:02:48 +02:00
Ralf Jung
5fc990cebd bump dependencies 2018-07-12 10:19:14 +02:00
Ralf Jung
d4e8d0b935 fix deprecation warning: use dirs crate for home_dir 2018-07-11 17:42:35 +02:00
Oliver Schneider
27fe263669
Move back to a normal folder structure 2018-05-09 14:37:00 +02:00
bjorn3
9d186d914e
Update Cargo.lock and some improvements 2018-04-13 16:04:57 +02:00
David Renshaw
cabdc5597c update log deps 2018-01-06 10:21:24 -05:00
David Renshaw
30496f5dd2 update compiletest dependency 2017-12-31 08:35:02 -05:00
kennytm
b7d382a956
Remove the [workspace] section.
Miri does not need to maintain a workspace anymore. Also, keeping miri a
workspace conflicts with rustc's own workspace.
2017-12-16 03:58:17 +08:00
Oliver Schneider
bde093fa14
Move validation from rustc to miri 2017-12-14 11:35:33 +01:00
Oliver Schneider
bf26b96dc7 Update to latest rustc changes 2017-12-05 17:06:03 +01:00
Oliver Schneider
8d546e8b9a
Use rustc's logging libraries in order to be able to log rustc::mir::interpret 2017-10-06 17:14:12 +02:00
Oliver Schneider
52599adf27
Miri core has moved to rustc::mir::interpret 2017-10-06 17:13:59 +02:00
Ralf Jung
383153f887 update compiletest 2017-09-19 13:27:13 +02:00
Ralf Jung
8dff161bcb update compiletest; we do not need tempdir any more 2017-09-04 13:02:55 +02:00
Ralf Jung
df895cd9d4 no reason not to run tests in miri (once someone writes them) 2017-09-04 13:01:10 +02:00
Ralf Jung
df20c0684c use tempdir to create a dedicated directory for each test 2017-08-26 13:12:55 +02:00
Oliver Schneider
7e6c497539 Make cargo_miri a feature
1. Speeds up the common compilation path (no serde in the dependency tree)
2. Stage 1 rustc is enough (no serde -> no custom derive)
2017-08-09 16:12:27 +02:00
Ralf Jung
de1376f923 Add a build script to inform the binary about its profile, and use that in the test suite 2017-08-03 11:38:00 -07:00
Oliver Schneider
8b81f5430f
Fix running the rustc test suite 2017-08-01 16:12:29 +02:00
Oliver Schneider
3d82b66c6c
Remove redundant members field 2017-08-01 09:56:21 +02:00
Oliver Schneider
7ed706d09c
Update Cargo.toml 2017-08-01 09:56:21 +02:00
Oliver Schneider
45b7cfdb6d
Update env_logger in order to share more dependencies 2017-08-01 09:56:21 +02:00
Oliver Schneider
e5799a6af3
Reduce the chance of accidentally calling functions in CTFE
previously miri had a check for const fn and other cases that
CTFE requires. Instead the function call is completely
processed inside the machine. This allows CTFE to have full
control over what is called and miri to not have useless
CTFE-checks in normal mode.
2017-08-01 09:56:21 +02:00
Oliver Schneider
11e30a65e6
Split up miri into the librustc_mir and bin parts 2017-08-01 09:56:21 +02:00
Oliver Schneider
4cfa7c5d12
Prep miri repository for rustc merger 2017-07-21 11:30:56 +02:00
Oliver Schneider
9e44509e51 Update dependencies 2017-05-09 16:47:04 +02:00
Felix Schütt
23cf495f27 Update Cargo.toml, fix for build error (see #164) 2017-05-09 16:35:09 +02:00
Oliver Schneider
5adb84645f
add cargo-miri subcommand to directly interpret the main binary of a crate 2017-01-28 11:57:52 +01:00
Oliver Schneider
3a658e09e8
rustup (i128) 2017-01-12 08:28:42 +01:00
Scott Olson
539e7e0ae1 Update compiletest_rs to 0.2.5. 2016-12-16 17:40:24 -08:00
Oliver Schneider
d9680dbb10 bump compiletest 2016-10-01 15:30:29 +02:00
Oliver Schneider
82dc95c3ad
create a miri-pass test that allows us to run miri for arbitrary targets 2016-06-15 16:01:00 +02:00
Oliver Schneider
b3a175f730
add dependencies and run cargo update 2016-06-01 11:47:41 +02:00
Oliver Schneider
55ce704ae7
don't generate test suites 2016-06-01 11:10:43 +02:00
Scott Olson
82dfa7278b Correct license in Cargo.toml. 2016-05-10 11:50:11 -06:00
Scott Olson
382dc0ccb2 Update for my github username change. 2016-05-09 20:08:37 -06:00
Oliver Schneider
211c12a1d0 use compiletest_rs 2016-04-22 10:34:14 +02:00
Scott Olson
2776f55d0c WIP: Switching to a new byte-based value representation. 2016-02-27 19:20:25 -06:00
Scott Olson
064c3521c3 Restructure into separate binary and library. 2015-11-21 21:20:06 -06:00
Scott Olson
cf49d6b080 Add the interpreter from my rustc branch and hook it up to CompileController. 2015-11-12 15:50:58 -06:00