Commit Graph

89 Commits

Author SHA1 Message Date
Scott Olson 20ced4a720 Replace const_to_ptr with const_to_value.
This reduces the number of allocations Miri makes drastically. The
`const_to_ptr` function was a lame hack that allocated for every since simple
constant, and all of those are avoided now, except for one extra allocation each
for string and bytestring literals which will be fixed in a followup commit.

There are a number of hacks such as `eval_operand_to_ptr` left over from this
commit, which will also be fixed in followup commits.
2016-09-19 02:19:34 -06:00
Scott Olson 814efe3b05 option_eq test passes now since casts are implemented. 2016-09-19 02:16:51 -06:00
Oliver Schneider 562c64d86a add some sanity tests 2016-09-15 16:32:30 +02:00
Oliver Schneider 0d2a403a51 run all tests found in folder given by MIRI_RUSTC_TEST env var 2016-09-15 16:13:54 +02:00
Oliver Schneider eb594da409 forbid warnings only in the actual run-pass tests, not in the miri-pass tests 2016-09-15 16:12:36 +02:00
Scott Olson 2e70fcdca8 Undo accidental test deletion in previous commit. 2016-09-13 20:17:52 -06:00
Scott Olson 366c793306 Fix tests broken by std::vec::SetLenOnDrop. 2016-09-13 20:14:07 -06:00
Oliver Schneider 23eb8a5cf2 error on failed assumptions 2016-09-13 13:08:57 +02:00
Oliver Schneider 5c47e3dbd8 only allow the modification of static mut or statics with interior mutability 2016-09-11 11:02:45 +02:00
Oliver Schneider bcda724c43 closures don't work yet 2016-09-09 15:44:35 +02:00
Oliver Schneider 00c551c5f0 implement calling methods through trait objects 2016-09-09 12:51:14 +02:00
Oliver Schneider ad053d66fe change the block and stmt position after a function call returns
previously we moved to the target block *before* calling a function, so when inspecting
the stack, it appeared as if we were in the first statement of the next block.
2016-09-07 12:48:29 +02:00
Oliver Schneider f5a89d297c rustc now can use integer literals in attributes 2016-09-07 10:27:57 +02:00
Scott Olson 45cf3cfde2 Update for changes in rustc. 2016-08-27 01:44:54 -06:00
Oliver Schneider ec897f9156 don't allow runtime-aligning of memory 2016-07-22 16:35:39 +02:00
Oliver Schneider 4c258d1ed2 Merge remote-tracking branch 'origin/master' into alignment 2016-07-07 13:17:08 +02:00
Oliver Schneider 9669acc3a3 Merge remote-tracking branch 'origin/master' into the_outer_limits 2016-07-07 11:27:49 +02:00
Oliver Schneider 51ce4a2584 use byteorder's write_f{32,64} instead of transmuting 2016-07-06 11:51:32 +02:00
Oliver Schneider aca691160d add a test 2016-07-06 11:19:24 +02:00
Oliver Schneider 082effb3ee align allocations in the worst possible way 2016-07-05 14:27:27 +02:00
Oliver Schneider 4781a6ba54 add attribute to limit the stack size 2016-07-05 13:23:58 +02:00
Oliver Schneider 88d98998e1 add execution time limit 2016-07-05 13:17:40 +02:00
Oliver Schneider 3e5d86bb08 test the memory limit 2016-07-05 13:04:53 +02:00
Oliver Schneider 4b831569f6 implement floats by running the ops on the host architecture 2016-07-05 09:08:24 +02:00
Oliver Schneider 3d9588332f address comments 2016-07-01 13:09:40 +02:00
Oliver Schneider 594f1d79da optimize all ZST allocations into one single allocation 2016-07-01 13:09:17 +02:00
Scott Olson 64eca52ad3 Run Mir passes (copied from rustc pre-trans). 2016-06-30 21:33:24 -06:00
Oliver Schneider ae3c49a9e5 use the item path printer that prints user friendly textual paths 2016-06-29 17:07:05 +02:00
Oliver Schneider 055b6a8d38 store full TargetDataLayout in Memory instead of just pointer size 2016-06-23 09:36:37 +02:00
Oliver Schneider b33a9f3431 there can never be too many tests 2016-06-23 09:36:37 +02:00
Oliver Schneider 3404a9da2a add test for invalid char 2016-06-23 09:36:37 +02:00
Oliver Schneider 2dbd30fa51 implement char handling 2016-06-21 09:35:20 +02:00
Oliver Schneider ed4af21605 fix master 2016-06-20 12:33:54 +02:00
Oliver Schneider a1082b9b1a Merge remote-tracking branch 'origin/master' into oflo 2016-06-20 12:33:09 +02:00
Oliver Schneider e90ee1674a fix comparing of function pointers 2016-06-20 10:35:15 +02:00
Oliver Schneider d9776427b4 compiletest 2.0 uses json errors and doesn't depend on the output format anymore 2016-06-20 10:34:55 +02:00
Scott Olson f9c1cfa889 Remove now-useless #[miri_run] attributes.
Except for `ints.rs`, which is already handled by a pending pull request.
2016-06-17 22:52:30 -06:00
Scott Olson 35c76c6862 Ignore non-Rust files in run-pass.
Specifically, Vim's .<filename>.swp files were being run as tests.
2016-06-17 21:06:25 -06:00
Oliver Schneider 00eb198a82 implement fn -> unsafe fn pointer casts 2016-06-17 16:49:06 +02:00
Oliver Schneider 4f48bef896 cfail test for std::env::args() 2016-06-17 15:48:15 +02:00
Oliver Schneider 6376ef4228 run the *compiled* run-pass tests on the host machine 2016-06-17 15:21:01 +02:00
Oliver Schneider 3ba4f6db04 remove code repetition and fix overflowing intrinsics 2016-06-17 15:16:41 +02:00
Oliver Schneider 58b4fac1ce implement overflowing ops 2016-06-17 13:09:20 +02:00
Oliver Schneider 60f2bb9c70 miri knows about --sysroot 2016-06-16 11:05:10 +02:00
Oliver Schneider f01be91997 miri needs to be *built* with RUST_SYSROOT, not *run* 2016-06-16 11:00:46 +02:00
Oliver Schneider 2ed6f1c90a caught by travis 2016-06-16 10:54:10 +02:00
Oliver Schneider 453a22a1e0 forward RUST_SYSROOT to miri test calls 2016-06-16 10:52:23 +02:00
Oliver Schneider b6fca7355c error out if a run-pass test fails 2016-06-16 10:50:23 +02:00
Oliver Schneider 9cceef0663 simplify target name extraction 2016-06-16 10:34:05 +02:00
Oliver Schneider 506f2deaf9 actually execute miri-pass tests 2016-06-16 10:30:47 +02:00