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
Oliver Schneider
bf26b96dc7
Update to latest rustc changes
2017-12-05 17:06:03 +01:00
Oliver Schneider
fd77411a18
Compiler bug
2017-11-30 13:31:37 +01:00
Oliver Schneider
cf92528426
Add windows support
2017-09-16 14:02:59 +02:00
Ralf Jung
e7b0637e68
Merge branch 'master' into tests
2017-09-16 12:55:49 +02:00
Ralf Jung
060bb2fa9f
use ui test mode rather than mir-opt
...
These tests are not run per default
2017-09-16 12:36:31 +02:00
Ralf Jung
2ea6663440
validation: check that int, float etc. are not undef
2017-09-16 11:45:56 +02:00
Ralf Jung
c1630973d0
Disable the address-of-ZST test for now; it is buggy as it disagrees with rustc
2017-09-13 18:15:59 +02:00
Ralf Jung
bac89ae1d8
enable validation for a bunch of more tests
2017-09-13 15:46:53 +02:00
Ralf Jung
aa578de018
identify write locks by lvalues, not regions
...
This makes a new compile-fail test pass.
2017-09-13 14:37:31 +02:00
Ralf Jung
ce4875484f
there are more tests we can enable again
2017-09-09 11:30:15 +02:00
Ralf Jung
00c909dbd0
we can enable a bunch of tests for validation again
2017-09-09 11:18:02 +02:00
Oliver Schneider
5570a78c51
Disable validation for some tests
2017-09-07 16:56:46 +02:00
Ralf Jung
ea911ca8a7
disable validation in failing tests for now
2017-09-04 11:48:48 +02:00
Oliver Schneider
58a59e9d23
Rustup (generator support)
2017-08-30 13:16:27 +02:00
Ralf Jung
e6a874b0bf
test new From instances for Rc
2017-08-29 16:51:26 +02:00
Oliver Schneider
506a5c7910
Mir optimizations treat single variant enums as structs
2017-08-29 12:26:20 +02:00
Oliver Schneider
88fc45b37c
Get some more rustc tests working
2017-08-29 11:58:22 +02:00
Oliver Schneider
206f0bd6df
Fix panic in subslice patterns of arrays ( fixes #276 )
2017-08-29 10:03:00 +02:00
Oliver Schneider
385b5b9fd1
Merge branch 'master' into priroda
2017-08-28 15:37:10 +02:00
Oliver Schneider
9d10e0154b
Mir validation can't cope with mem::uninitialized::<SomeEnum>()
2017-08-28 14:53:43 +02:00
Oliver Schneider
e28f4a8e3e
Add a regression test for #313
2017-08-28 14:10:59 +02:00
Ralf Jung
907d2c7310
rustc #43457 got fixed, we can enable more tests
2017-08-27 18:18:32 +02:00
Ralf Jung
e332ab9b13
Handle closures in get_field_ty
...
Fixes #304
2017-08-24 13:34:05 +02:00
Ralf Jung
90edc03eea
Add a test demonstrating the limitations of our lfietime resolution
2017-08-18 11:29:51 +02:00
Ralf Jung
7e5d971c56
fix warnings; make test suite pass again
2017-08-12 09:45:44 -07:00
Ralf Jung
668491a892
Work on making validation test pass again
...
Turns out that tracking write locks by their lifetime is not precise enough,
but for now, we don't have an alternative. Also, we need to force_allocate
what we acquire or else the memory will not be in the right state.
2017-08-09 15:49:47 -07:00
Oliver Schneider
8ab1eeef51
Implement packed statics
2017-08-08 17:09:26 +02:00
Ralf Jung
847396e412
Re-do memory locking (again). Now with proper support for multiple independent shared borrows of the same mutable reference.
2017-08-07 12:57:32 -07:00
Ralf Jung
2a1d7666ed
Merge pull request #286 from RalfJung/mir-validate
...
Update MIR validation and test it
2017-08-04 22:02:52 -07:00
Oliver Schneider
181bb30d07
Rustc reorders fields, but miri expects them in source order
2017-08-04 13:43:17 +02:00
Ralf Jung
766a69f656
make test suite MIR validation aware. run-pass passes with and without fullmir, if optimizations are disabled!
2017-08-03 18:13:22 -07:00
Ralf Jung
4672cb7bde
make force_allocation handle packed ByValPair
2017-07-26 23:45:22 -07:00
Oliver Schneider
f906c5458c
Merge pull request #272 from oli-obk/mir-validate
...
Mir validate
2017-07-26 23:37:52 +02:00
Ralf Jung
744780e794
more hacks to make test cases pass
2017-07-25 17:31:40 -07:00
Ralf Jung
e5cc8aaf5b
Test that &* of a dangling (and even unaligned) ptr is okay
2017-07-25 17:02:57 -07:00
Ralf Jung
f960f4c537
fix casting integers to pointers
2017-07-21 20:02:48 -07:00
Oliver Schneider
f2d0101065
Also test optimized MIR
2017-07-20 20:25:43 +02:00
Ralf Jung
e4ffab1754
enable test code that passes just fine
2017-07-19 11:38:15 -07:00
Ralf Jung
0fbbcae92d
packed structs: test unsize coercions
2017-07-13 14:18:26 -07:00
Ralf Jung
287b6be5ca
track alignment also for ByRef values
2017-07-12 21:06:57 -07:00
Ralf Jung
c149c3fc6a
Re-do packed memory accesses
...
We now track in the lvalue whether what we computed is expected to be aligend or not, and then set some state in the memory system accordingly to make it (not) do alignment checks
2017-07-12 17:46:56 -07:00
Ralf Jung
e60f11f52c
update for latest nightly
2017-07-10 13:57:18 -07:00
Ralf Jung
79ab4f0e8c
make u128 test work (commenting out the use of checked_shl)
2017-07-03 20:36:04 -07:00
Ralf Jung
fbc00ddc95
make sure that 'identity casting' works
2017-06-24 11:05:13 -07:00
Oliver Schneider
9be3e9185b
Remove the zst allocation
2017-06-23 12:55:49 +02:00
Ralf Jung
14cb31fb88
permit bit-anding in pointer values below the alignment
...
This makes HashMap work!
2017-06-22 14:46:53 -07:00
Ralf Jung
269667e152
implement _nonzero intrinsics
2017-06-22 14:46:53 -07:00
Ralf Jung
7b2b0dd56c
test HashMap creation in libstd-MIR, and make it work again
2017-06-21 23:09:34 -07:00
Ralf Jung
6eafb10b87
add test for function pointer offsets
2017-06-21 21:54:42 -07:00
Ralf Jung
7b1582b383
permit integer addition and subtraction on ptr-integers
2017-06-21 21:38:43 -07:00
Ralf Jung
184d3b3bad
expand thread-local storage tests to cover dtor order and re-running dtors
2017-06-21 20:17:07 -07:00
Oliver Schneider
b001b5531b
The latest nightly doesn't expose as much MIR anymore as it used to
2017-06-21 09:44:10 +02:00
Oliver Schneider
ef29e6a30b
Add fullmir tests
2017-06-21 08:57:17 +02:00
Oliver Schneider
a82fe9ae0c
Enable more zst writes and reads
2017-06-20 16:26:53 +02:00
Oliver Schneider
ea6f6079ca
Use PrimVal instead of Pointer where applicable
2017-06-20 14:28:19 +02:00
Oliver Schneider
a6734cd890
Fix unions
2017-06-20 14:28:18 +02:00
David Renshaw
a28c7990ea
update compiletest and remove obsolete comment
2017-06-20 07:08:29 +09:00
Ralf Jung
4b1a12c240
test the Rc::{into,from}_raw roundtrip
...
This uses some pointer arithmetic based on field offsets
2017-06-12 15:32:16 -07:00
Oliver Schneider
03577a905a
Fix some clippy warnings
2017-06-12 13:56:29 +02:00
Ralf Jung
4ac9fa67a4
enable a test that was accidentally left disabled
2017-06-11 21:16:05 -07:00
Ralf Jung
3a5abf031b
fix comment in aux_test
2017-06-08 11:34:49 -07:00
David Renshaw
c8be312933
fix issue 184 by marking the destination as a packed struct
2017-06-06 09:49:34 -04:00
Ralf Jung
a6e6a6fd29
Add some more tests involving Offset/arith_offset and ZST pointers
2017-06-05 15:19:07 -07:00
Ralf Jung
a291153414
Permit ptr->int->ptr roundtrip
2017-06-05 15:18:40 -07:00
Ralf Jung
f39e015163
check for overflow when doing pointer arithmetic
2017-06-05 14:23:35 -07:00
Ralf Jung
70227c87bf
fix arith_offset not taking the size of the type into account; test for offset
2017-06-05 14:23:35 -07:00
Ralf Jung
6197f4fac9
Permit int->ptr->int roundtrip
2017-06-05 14:23:35 -07:00
Ralf Jung
cfff91ba3e
write_bytes intrinsic: if the write count is 0, the pointer does not have to be valid
2017-06-05 14:23:34 -07:00
Ralf Jung
716653fd76
add comments in the tests explaining what the ignore flags do
2017-06-05 14:23:34 -07:00
Ralf Jung
1b5f77e4c1
Implement Offset like the other binary operators, share code with the intrinsic
...
Also improve drop glue tests
2017-06-05 14:19:10 -07:00
Ralf Jung
31cf66d0e8
remove our array drop glue and use rustc's instead; implement the new Offset and SizeOf operators
2017-06-05 10:06:40 -07:00
David Renshaw
a59d482574
remove unneeded '-gnu' suffix from compiletest ignore directives
2017-05-31 14:21:49 -04:00
David Renshaw
7624bca09e
ignore thread-local-no-dtor test on windows-gnu target
2017-05-31 10:47:26 -04:00
Ralf Jung
b8e0b79222
add a test for output string formatting
2017-05-30 14:02:20 -07:00
Ralf Jung
dad95474cb
test thread-local key with no dtor
2017-05-30 10:41:38 -07:00
Ralf Jung
633a34d6d3
re-disable aux_test -- it passes here, but not on Travis
2017-05-30 10:41:38 -07:00
Ralf Jung
1241938f97
test suite now also passes on MIR-libstd
...
Also enable some tests that were disabled for no apparant reason.
(The comment in zst.rs was wrong, the test was disabled also for miri execution.)
Delete env_args test as the args can actually be queried with MIR-libstd (currently, they are always empty)
2017-05-30 10:41:38 -07:00
Ralf Jung
99433a1ffd
improve fn pointer signature check to allow some casts that should be permitted
...
Also properly check the "non-capturing Fn to fn" case
2017-05-30 10:41:38 -07:00
Ralf Jung
720c5f874e
implement __rust_maybe_catch_panic
2017-05-30 10:41:38 -07:00
David Renshaw
66495222ab
closure_to_fn_coercion has been stabilized
2017-05-30 09:27:50 -04:00
David Renshaw
0641e932bc
implement __rust_allocate_zeroed C ABI function
2017-05-21 15:48:31 -04:00
David Renshaw
ecf452ce3a
don't match on floating-point literal
2017-05-10 16:38:29 -04:00
Oliver Schneider
6706d8fdec
Add regression test for bad substs
2017-03-24 09:03:19 +01:00
Oliver Schneider
bbeb7216e0
Thinify the fat pointer on virtual function calls
2017-03-23 18:32:57 +01:00
Oliver Schneider
0927829e14
Add regression test for single field by val tuples
2017-03-23 16:13:01 +01:00
Scott Olson
a82924b3e2
Merge pull request #152 from oli-obk/intrinsics
...
Intrinsics and overflow
2017-03-14 13:35:51 -07:00
Scott Olson
6ee8595375
Merge pull request #147 from oli-obk/rustup
...
rustup to rustc 1.17.0-nightly (60a0edc6c
2017-02-26)
2017-03-14 09:49:40 -07:00
Oliver Schneider
bb33830c60
Implement more atomic intrinsics
2017-03-14 13:05:51 +01:00
Oliver Schneider
adddde7cba
Implement more float intrinsics
2017-03-14 12:35:38 +01:00
Oliver Schneider
80be25e705
Fix warnings in unit test
2017-03-14 11:14:53 +01:00
Oliver Schneider
da6f136997
I say we take off and nuke the lifetimes from orbit
2017-03-14 10:49:22 +01:00
David Renshaw
4cae50cccb
add write_bytes() test for a larger-than-u128 struct
2017-03-13 20:33:23 -04:00
David Renshaw
aa2f9988a4
add write-bytes test
2017-03-13 19:49:37 -04:00
Oliver Schneider
8878a4030a
rustup to rustc 1.17.0-nightly ( 60a0edc6c
2017-02-26)
2017-02-28 12:35:00 +01:00
Oliver Schneider
de42764b52
drop zst fields of null pointer optimized structs and enums
...
fixes #25
2017-02-24 11:04:13 +01:00
Oliver Schneider
31c81ac322
Merge move_fn_closure
run-passtest into closure-drop
2017-02-24 10:42:11 +01:00
Oliver Schneider
c4c9ff8d3f
remove memory leak from run-pass test
2017-02-24 10:41:15 +01:00
Oliver Schneider
25c3a4fb00
drop all temporary closure allocations
2017-02-24 10:41:15 +01:00
Oliver Schneider
4730cdf825
fix a bug in drop code of structs with unsized fields
2017-02-14 14:26:47 +01:00
Scott Olson
d8e5500c6d
Add test for closure drop.
2017-02-10 15:05:29 -08:00
Scott Olson
e0d6359297
Add test for #133 .
2017-02-10 08:00:28 -08:00
Scott Olson
5a2cdc2689
Implement the fast float math intrinsics.
2017-02-10 05:58:34 -08:00
Scott Olson
e1725a8101
Add test for assoc consts.
2017-02-10 05:39:30 -08:00