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
Oliver Schneider
d92085fd0e
properly extract the inner type in a drop impl
2017-02-09 19:08:08 +01:00
Oliver Schneider
8c2832f419
add the full test from rust
2017-02-09 18:03:21 +01:00
Scott Olson
3b95bf93b1
Merge pull request #132 from oli-obk/master
...
we cannot panic, thus `panicking` always returns false
2017-02-09 15:37:23 +01:00
Scott Olson
14d7501ca4
Merge pull request #128 from oli-obk/align_thyself
...
fix size of dst in size_of_val intrinsic
2017-02-09 15:35:15 +01:00
Oliver Schneider
f6fbd060ad
no mir for mutex::lock in windows-gnu
2017-02-09 15:21:37 +01:00
Oliver Schneider
0f183dc866
we cannot panic, thus panicking
always returns false
2017-02-09 15:07:50 +01:00
Oliver Schneider
d23c3ae516
fix a failing test
2017-02-09 13:00:38 +01:00
Oliver Schneider
0d3cee2db3
fix size of dst in size_of_val intrinsic
2017-02-09 11:15:56 +01:00
Scott Olson
2048679eed
Merge pull request #126 from oli-obk/1>-1
...
1 > -1
2017-02-09 09:57:22 +01:00
Oliver Schneider
6aed897c70
1 > -1
2017-02-09 09:43:45 +01:00
Oliver Schneider
1844381ad0
compute the offset of dst fields by checking the vtable
2017-02-09 08:38:01 +01:00