Commit Graph

466 Commits

Author SHA1 Message Date
Kenny Goodin
46b6a3fb7f Add more missing math functions
Add missing functions for atan2, cosh, sinh, and tan.
Also add f32 calls and tests for cbrt and hypot.
2019-06-13 22:28:22 -04:00
Kenny Goodin
535914e3dc Implement cbrt and hypot function calls
Test cases are added to `tests/run-pass/intrinsics-math.rs`
2019-06-12 15:44:30 -04:00
Ralf Jung
e2f114a5e0 test FMA a bit more 2019-06-11 19:41:43 +02:00
Ralf Jung
9c9a947bf4 test more enum-int-cast code paths 2019-06-11 19:41:43 +02:00
Ralf Jung
5e07ac335f implement min and max floating point intrinsics 2019-06-11 19:41:43 +02:00
Dylan MacKenzie
1ceb81b345 Use in-core implementation of type_name.
We bump `rust-version` to pick up the new impl from
https://github.com/rust-lang/rust/pull/61498 and add a test.
2019-06-05 22:36:53 -07:00
Ralf Jung
27a66a1e42 test for no-validation-only failure 2019-06-04 13:21:04 +02:00
Ralf Jung
e03255d625 fix existing tests
fix thread-local example to no longer write to pointers derived from a shared ref;
fix compile-fail test
2019-06-02 22:16:02 +02:00
Ralf Jung
dafd2e7202 rustup for ... deprecation 2019-06-01 10:04:49 +02:00
Ralf Jung
c748323eb3 move fn_item/ptr tests to closures file 2019-05-30 11:01:22 +02:00
Ralf Jung
badbd57cee update for rustc warning about missing dyn 2019-05-30 10:58:30 +02:00
Ralf Jung
0dfc1c97c5 test weak_into_raw 2019-05-29 19:36:16 +02:00
Ralf Jung
381c2897b0 test for pointer wrapping ICE 2019-05-28 22:46:56 +02:00
Ralf Jung
0c85dbf3df prepare for MaybeUninit stabilization 2019-05-20 10:53:34 +02:00
Ralf Jung
b9517ca9f3 this also fixed our 2-phase woes 2019-05-15 18:12:58 +02:00
Ralf Jung
7f09e61c31 make HashMap test a bit nicer 2019-05-13 11:45:39 +02:00
Ralf Jung
b08bf47606 fix tests for latest Rust 2019-05-01 20:43:43 +02:00
Ralf Jung
42b70f17d2
Merge branch 'master' into exit 2019-04-22 11:35:36 +02:00
Ralf Jung
a87a7338e6 test System/Global allocator API: alloc_zeroed, realloc 2019-04-21 13:47:12 +02:00
Ralf Jung
0694435650 implement exit
implement exit code via new error kind
2019-04-21 12:36:17 +02:00
Ralf Jung
677bd6f656 add LinkedList test and mention the bug Miri found there 2019-04-19 23:08:24 +02:00
Tim Diekmann
9ecc07c9b2
Add handling for nullptr and size == 0 2019-04-18 15:20:32 +02:00
Tim Diekmann
af3c4c0c23
Merge branch 'master' into realloc 2019-04-18 12:22:58 +02:00
Tim Diekmann
0e6deee76e
Add realloc 2019-04-18 01:20:21 +02:00
Ralf Jung
e1ed855a44 more tests -- also one showing why we are not done yet 2019-04-17 16:02:57 +02:00
Ralf Jung
72cec0562c add tests for fixes: sharing no longer leaks, and we can handle entering interior mutability 2019-04-17 16:02:57 +02:00
Ralf Jung
46d5fd8487 barriers are dead, long live protectors -- this enables overlapping two-phase borrows! 2019-04-17 16:02:57 +02:00
Ralf Jung
e7a500b7e1 test creating two raw pointers from the same mutable ref 2019-04-17 16:02:57 +02:00
Ralf Jung
a503259d8b organize stacked borrows run-pass tests 2019-04-17 16:02:57 +02:00
Ralf Jung
97c34c266f try to test the problematic cast-to-raw case... unfortunately with the implicit reborrow that's not currently possible 2019-04-17 16:02:57 +02:00
Ralf Jung
966d638760 make run-pass tests pass. tweak how we remove barriers. 2019-04-17 16:02:57 +02:00
Ralf Jung
6fdc75024b
Merge branch 'master' into rand 2019-04-16 20:55:58 +02:00
Ralf Jung
ceca7c5020 tweak entropy tests a bit 2019-04-16 19:06:08 +02:00
Ralf Jung
378d9d4172 be pragmatic about ptr-int comparisons, for now 2019-04-16 17:47:37 +02:00
Ralf Jung
aa79244b62 rustup 2019-04-12 22:15:55 +02:00
Ralf Jung
8de4f34a7f Merge remote-tracking branch 'origin/master' 2019-04-11 22:09:09 +02:00
Ralf Jung
83d199eb86 fix async-fn test 2019-04-10 17:20:54 +02:00
Aaron Hill
a8763f3d8d
Don't create HashMap<K, V> when not needed 2019-04-09 23:36:27 -04:00
Oliver Scherer
2eb2c8dd57
Merge branch 'master' into feature/random 2019-04-09 21:58:15 +02:00
Aaron Hill
174874420b
OS X is "macos", not "darwin" 2019-04-08 22:48:57 -04:00
Aaron Hill
858e82bc6f
Disable normal HashMap test on OS X
Implementing random number generation on OS X will require special-casing the
'openat' system call to special-case reading from /dev/urandom
2019-04-08 22:30:38 -04:00
Aaron Hill
b120e8bb88
Only run test with default hasher 2019-04-08 21:42:12 -04:00
Tim Diekmann
fdefac8599
Fix calloc test
Forgot to free the memory. Miri found the bug :)
2019-04-08 01:26:52 +02:00
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
Tim Diekmann
fa0755c9fd
Add calloc test 2019-04-08 01:12:50 +02:00
Ralf Jung
3f552fea26 test calling Box<dyn FnOnce> 2019-04-07 20:06:22 +02:00
Ralf Jung
ddb0496642 temporarily ignore async fn test 2019-04-06 22:11:59 +02:00
Matthew Jasper
3298102a64 Remove unnecessary test directive 2019-04-06 16:17:33 +01:00
Matthew Jasper
7213b91cd4 Use edition flag for 2phase test
The compiler now rejects one of the examples with #![feature(nll)]
2019-04-05 14:35:31 +01:00
Alexander Regueiro
12d3ecbaff Various cosmetic improvements. 2019-02-26 18:37:46 +00:00
Alexander Regueiro
a478bfebd2 Removed copyright notices. 2019-02-26 18:37:45 +00:00
rchaser53
b1c0cf2ef9 use copy_op directly insteadof write_scalar
- fix volatile_store logic
- rename test to be able to read back from later
- expand test to use assert_eq! and confirm to fix volatile_store
- expand test to use assert_eq! and confirm normal load
2019-02-26 19:49:02 +09:00
Ralf Jung
ac23bcd298 test using the Global allocator trait to alloc/free a Box 2019-02-25 09:47:34 +01:00
Ralf Jung
5a8a15361d
Merge branch 'master' into no-two-phase-matches 2019-02-24 16:26:42 +01:00
Ralf Jung
6edf674f4f Merge remote-tracking branch 'origin/master' into btree 2019-02-24 12:22:42 +01:00
Matthew Jasper
acc304c0bd Remove test of two-phase borrows in match 2019-02-24 08:16:21 +00:00
Taiki Endo
441442e071 Update some links 2019-02-23 19:56:29 +09:00
Ralf Jung
edd9e5b7b1 test BTree a bit more 2019-02-22 17:42:01 +01:00
Ralf Jung
5190b5b1e8 test VecDeque debug printing 2019-02-15 10:41:12 +01:00
Ralf Jung
e630175867 fix async-fn test 2019-02-15 09:35:55 +01:00
Ralf Jung
9397b36ab8 typo and comments 2019-02-15 09:35:55 +01:00
Ralf Jung
1921fa5766 actually they should be equal 2019-02-15 09:35:55 +01:00
Ralf Jung
2c3ee678b1 Fix comparing fat pointers 2019-02-15 09:35:55 +01:00
Ralf Jung
c6e747e14c Merge remote-tracking branch 'origin/master' into str-index-mut 2019-02-14 08:33:37 +01:00
Ralf Jung
8466f78e83 ignore overaligned tests on Windows (because, of course, Windows' API is broken here) 2019-02-13 19:48:26 +01:00
Ralf Jung
2d323857e9 implement and test posix_memalign 2019-02-13 17:47:54 +01:00
Ralf Jung
d91ab9a7a6 fix ptr comparison test 2019-02-13 10:07:31 +01:00
Ralf Jung
604095fff2
Merge branch 'master' into format-padding 2019-02-13 08:12:11 +01:00
Ralf Jung
0802b3a108 implement passing arguments to the interpreted program 2019-02-09 20:00:40 +01:00
Ralf Jung
7827924bfc test padding in format strings 2019-02-09 15:52:59 +01:00
Ralf Jung
0f6e82db36 fix (un)likely intrinsics 2019-02-09 13:08:23 +01:00
Ralf Jung
e5972c38a3 test mutable string slice indexing 2019-02-06 11:47:32 +01:00
Ralf Jung
6b855573bd fix generator test case 2019-01-30 11:51:06 +01:00
Ralf Jung
f7519f36e6 fix tests to avoid deprecated constants 2019-01-28 09:19:56 +01:00
Ralf Jung
b344f0fd43 test some more 2PB stuff 2019-01-04 10:15:53 +01:00
Ralf Jung
3715245a36 add test for offseting fn ptr 2018-12-26 16:23:04 +01:00
Ralf Jung
5a8f9e58f7 properly compare unequal function pointers 2018-12-25 13:29:38 +01:00
Ralf Jung
4e4569cf4b fix build and tests with latest nightly 2018-12-25 13:26:40 +01:00
Ralf Jung
51ed485ba4 implement stdout/stderr on Windows 2018-12-19 12:16:07 +01:00
Ralf Jung
b3f7991367 btree is fixed 2018-12-18 18:41:52 +01:00
Oliver Scherer
77ef84e1e8 Adjust tests for funciton pointer changes 2018-12-17 10:12:04 +01:00
Ralf Jung
b0581caeef VecDeque got fixed 2018-12-13 22:05:46 +01:00
Ralf Jung
8bd1f78563 fix libc feature gate 2018-12-13 20:25:24 +01:00
Ralf Jung
f044205b5f the test suite assumes a libstd with full MIR; run test suite on xargo-built foreign libstds 2018-12-10 10:04:55 +01:00
Ralf Jung
228663248c Merge remote-tracking branch 'origin/master' into rustup 2018-12-08 10:33:14 +01:00
Ralf Jung
d5d1b1e4f3 add FIXME test for coercing &mut to *const 2018-12-07 18:01:59 +01:00
Ralf Jung
1a41ce6319 Merge remote-tracking branch 'origin/master' into stacked-borrows-2-phase 2018-12-07 09:03:15 +01:00
Ralf Jung
61f20761d3
Merge branch 'master' into stacked-borrows-2-phase 2018-12-03 11:11:32 +01:00
Ralf Jung
0cb3bf7912
Merge branch 'master' into fixme 2018-12-03 10:52:59 +01:00
Ralf Jung
b6e5822601 add FIXME 2018-12-03 10:28:32 +01:00
Ralf Jung
0e44876a2d fix mutability gap: do not allow shared mutation when creating frozen reference 2018-12-03 09:15:18 +01:00
Ralf Jung
479eb3bd2b support for basic (non-overlapping) 2-phase borrows 2018-12-02 13:30:09 +01:00
Ralf Jung
36a2b89522 remove a whole lot of unnecessary attributes 2018-12-02 11:26:09 +01:00
Ralf Jung
429d84f068 remove/fix outdated FIXMEs in tests 2018-12-02 11:14:24 +01:00
Ralf Jung
7d623f73cc do not use 'let _', it is strange 2018-11-26 15:31:53 +01:00
Ralf Jung
1edba2337b
Merge branch 'master' into self-referential-generator 2018-11-26 09:47:22 +01:00
Ralf Jung
04794c4c2a test that we support partial invalidation of mutable references 2018-11-21 16:08:46 +01:00
Ralf Jung
8d6472a76c test self-referential generator 2018-11-20 15:07:09 +01:00
Ralf Jung
22f11b8eec make tests compatible with 2018 edition 2018-11-20 14:15:14 +01:00
Ralf Jung
1ae536b03e use 2018 edition for tests 2018-11-20 12:41:34 +01:00
Ralf Jung
a87e952102 Separate deref and access into different operations; add special exception for creating raw references 2018-11-15 09:35:40 +01:00
Ralf Jung
224d03dbdc organize std tests a bit better 2018-11-15 09:35:40 +01:00
Ralf Jung
a94e197105 better test the special exception for reading through unique when things are shared 2018-11-15 09:35:40 +01:00
Ralf Jung
aa8f523df6 test for special things that are now possible 2018-11-15 09:35:40 +01:00
Ralf Jung
09919c2b59 Retag is the only operation that generates new tags 2018-11-15 09:35:40 +01:00
Ralf Jung
f233dc0687 Rc should be fixed 2018-11-11 10:12:44 +01:00
Ralf Jung
74635a57e2 re-do large parts of stacked borrows, now with proper support for partiall frozen data 2018-11-08 08:29:34 +01:00
Ralf Jung
a05ba90300 disable Rc test for now, it ain't working 2018-11-07 14:24:11 +01:00
Ralf Jung
3302656247 More extensive slice and vec tests
Not all of them pass validation...
2018-11-01 08:58:03 +01:00
Ralf Jung
430e047a6f start collecting some things ALLOWED by stacked borrows in a run-pass test 2018-11-01 08:58:03 +01:00
Ralf Jung
7ac0e79ad5 stub Retag hook; fix tests for removal of -Zmir-emit-validate 2018-11-01 08:58:03 +01:00
Ralf Jung
8cd73e534f use as(_mut)_ptr on slices to entirely escape them to raw 2018-10-22 18:51:06 +02:00
Ralf Jung
44b3c38b44 make sure raw ptrs only have to be valid as far as they are used 2018-10-22 18:34:48 +02:00
Ralf Jung
26bb4f79dc get rid of implicit Raw at bottom of stack; locals get a uniq at their bottom 2018-10-22 18:17:37 +02:00
Ralf Jung
fdb3022a11 env vars are only available with full MIR 2018-10-22 08:41:48 +02:00
Ralf Jung
bbb1d80703 disable env var test on macOS, win 2018-10-21 01:31:46 +02:00
Ralf Jung
d4b78b36ab stacked borrows: enforcement at memory accesses 2018-10-17 15:15:53 +02:00
Ralf Jung
348f782085 add env var emulation test, and fix it complaining about leaks 2018-10-16 18:35:27 +02:00
Ralf Jung
62b819ba18 whitelist std::ptr::read 2018-10-12 10:40:44 +02:00
Ralf Jung
e4dfb7013b enable validation per default, but add a flag to disable it and use that for some run-pass tests
compile-fail does not do validation yet
2018-10-11 11:24:22 +02:00
Ralf Jung
a090edbc03 explain a test 2018-10-11 08:59:39 +02:00
Ralf Jung
f18cb40e4c test mutating a non-mut static with interior mutability 2018-09-23 09:14:55 +02:00
Ralf Jung
a85b78d30c test for interestingly aligned field access 2018-09-22 08:45:24 +02:00
Ralf Jung
18d7394071 more compile-fail ptr equality tests, to rule out any non-determinism; and fix ptr equality to fail all of them.
At least these are the cases I can think of right now.
2018-09-17 10:02:31 +02:00
Ralf Jung
cd138bcd0b test more operations on dangling ZST pointers 2018-09-17 10:02:31 +02:00
Ralf Jung
1697b93ed9
Merge branch 'master' into rustup 2018-09-01 10:35:19 +02:00
Ralf Jung
f56841d974 unignore a bunch of tests that actually work 2018-08-30 15:57:17 +02:00
Ralf Jung
e239fcffc1 new tests for new fn arg passing code 2018-08-30 10:42:18 +02:00
Ralf Jung
904923fa7a move some more helpers to rustc 2018-08-30 10:42:18 +02:00
Ralf Jung
d7a3e040eb pthreads test needs full MIR on Windows 2018-08-30 08:33:38 +02:00
Ralf Jung
addcbd8868 VecDeque now requries full MIR; update to new nightly 2018-08-30 08:21:05 +02:00
Ralf Jung
755c68fdd8 some unary operator tests 2018-08-26 20:42:02 +02:00
Ralf Jung
5ccdbb8de2 small test for extern_type 2018-08-26 15:15:26 +02:00
Ralf Jung
9280d17d98 test VecDeque 2018-08-24 19:50:31 +02:00
Ralf Jung
40cc72604a update for bool/char being checked at binops 2018-08-24 19:18:21 +02:00
Ralf Jung
1a4ad2bb9f update for miri engine: new function handling, new static handling, fixed leaks 2018-08-24 16:45:08 +02:00
Ralf Jung
ee7f22245d Merge remote-tracking branch 'origin/master' 2018-08-20 18:57:48 +02:00
Ralf Jung
c424e21692 update for memory signedness removal; test some float casts 2018-08-16 11:35:38 +02:00
Ralf Jung
259cc6e3dc rustup for big refactor; kill most of validation 2018-08-16 10:30:43 +02:00
Ralf Jung
98a5b24ef7 test some more things around packed structs 2018-08-14 20:10:25 +02:00
Ralf Jung
bfda0a0a90 add a scary test case 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
93fef9a6a2 reenable an old test 2018-08-14 20:10:25 +02:00
Ralf Jung
d11c668a39 no longer run rustc on the tests; instead make sure we actually deny all warnings
Also fix the fallout from that
2018-07-16 08:39:06 +02:00
Ralf Jung
5be8bd987d Test some new capabilities we gained from a rustc update 2018-07-15 21:25:20 +02:00
memoryleak47
eb8195f095 typo 2018-07-12 10:22:23 +02:00
Ralf Jung
5f2f254695 move tests that no longer need MIR out of fullmir 2018-07-12 10:22:23 +02:00
Ralf Jung
7023126094 stop producing binaries 2018-07-11 19:36:45 +02:00
David Renshaw
6a4c62c167 add iter_any test 2018-05-11 13:51:04 +02:00
bjorn3
a6cdd8a81b
Fix it 2018-04-13 16:04:57 +02:00