Commit Graph

96 Commits

Author SHA1 Message Date
Oliver Schneider
18f4ca3c6b fix drop impls for clike enums 2017-02-07 17:41:30 +01:00
Oliver Schneider
45df853da7 cleanup buggy closure dispatch code 2017-02-07 14:22:20 +01:00
Oliver Schneider
0377990dc6
fix turning function items into closure trait objects 2017-02-07 11:04:46 +01:00
Oliver Schneider
a3d83e5c8f can't call assert_eq on packed struct fields since that takes references 2017-01-31 10:51:52 +01:00
Oliver Schneider
5e34740ab6 implement packed struct field access 2017-01-30 09:44:52 +01:00
Oliver Schneider
ce95ae5927 correctly implement pointers to enum variant constructors 2017-01-28 15:46:46 +01:00
Oliver Schneider
b6e79dbbf5 fix some ICEs 2017-01-28 15:28:24 +01:00
Oliver Schneider
e22cceaceb
allow using tuple variant names as function handles in presence of NonZero optimizations 2017-01-23 12:56:40 +01:00
Oliver Schneider
04eadedb28
allow using tuple variant names as function handles 2017-01-23 12:56:40 +01:00
Oliver Schneider
8084d60f54
add test for unions and remove needles forced alloc 2017-01-12 12:43:37 +01:00
Oliver Schneider
7c486416cb
allow the use of tuple struct constructors as functions 2017-01-12 08:52:22 +01:00
Oliver Schneider
32cd8efb97
re-enable auxiliary tests for the host only 2017-01-12 08:40:16 +01:00
Scott Olson
d6e35fe46f Add test for #95. 2016-12-21 17:26:52 -08:00
Scott Olson
9e244251a0 Enable an old test that works now! 2016-12-17 01:58:03 -08:00
Scott Olson
0cc4535a58 This test appears to work on 32-bit now. 2016-12-17 01:52:26 -08:00
Scott Olson
142d971c82 Add regression test for write_primval bug. 2016-12-17 01:34:19 -08:00
Scott Olson
0591683b73 Stop before trans so I can test non-x86_64 targets.
I had problems when it tried to link outputs for targets other than my
host.

This re-breaks tests with auxiliary builds. I'm not sure what to do
about those right now.
2016-12-16 23:47:43 -08:00
Scott Olson
6ec3d65068 Revert "Revert "rustup to rustc 1.15.0-dev (ace092f56 2016-12-13)"" 2016-12-16 17:10:16 -08:00
Scott Olson
0deabf9c00 Revert "rustup to rustc 1.15.0-dev (ace092f56 2016-12-13)" 2016-12-15 01:16:06 -08:00
Oliver Schneider
9ec97bac71
enable auxiliary builds 2016-12-14 17:06:36 +01:00
Oliver Schneider
51ff9fdaf6
deallocate all locals on function exit and transitively freeze constants through pointers 2016-11-18 10:05:55 +01:00
Oliver Schneider
fd68670c0a
merge closures and function and implement some closure vtable cases 2016-11-15 17:19:37 +01:00
Oliver Schneider
64155ffd10
implement fn item -> trait object conversion 2016-11-15 16:32:21 +01:00
Oliver Schneider
1c5c6cd078
allow zsts in the zero case of a nullable pointer optimized enum 2016-11-15 16:15:17 +01:00
Oliver Schneider
5ee75c0805
don't print in the binop tests 2016-11-15 15:24:22 +01:00
Oliver Schneider
4748587a77
fix creation of simd types 2016-11-15 15:23:19 +01:00
Oliver Schneider
e2091ff934
add more atomic intrinsics 2016-11-15 15:19:38 +01:00
Oliver Schneider
f77a0ab10b
fix writing int->ptr transmuted primvals to memory 2016-11-15 15:18:49 +01:00
Oliver 'ker' Schneider
d42a7d021d fix null optimizations for smaller than pointer enums
fixes #76
2016-11-11 13:10:47 +01:00
Oliver 'ker' Schneider
921f5af1fe ensure that integers cast to pointers will never point at a valid alloc, not even the zst alloc 2016-11-10 19:20:11 +01:00
Scott Olson
33b1676bda Merge pull request #75 from oli-obk/master
implement more drop stuff
2016-11-06 01:29:14 -08:00
Paul Lietar
86062ef930 Read discriminant as a signed integer if specified by layout.
This ensures it gets sign extended correctly.

Fixes #78
2016-11-05 15:41:19 +00:00
Oliver Schneider
07c752cc82
fix the block processing for the drop_in_place intrinsic 2016-11-04 17:55:06 +01:00
Oliver Schneider
893f16389e
run drop on array elements 2016-11-04 17:34:33 +01:00
Oliver Schneider
5ef7924aa9
call drop for all elements of an owned slice 2016-11-04 16:51:43 +01:00
Oliver Schneider
c4c8764f53
generate a drop method pointer in the vtable and process it 2016-11-04 16:38:04 +01:00
Oliver Schneider
0420c27c8e
fix drop ordering and forward fat pointer extras to fields
this doesn't yet use the fat pointer extras
2016-11-04 15:55:05 +01:00
Oliver Schneider
73d7f1d41b
implement drop for NonZero optimized enums 2016-11-04 09:34:54 +01:00
Oliver Schneider
ff95efc525
Revert "Fix tests broken by std::vec::SetLenOnDrop."
This reverts commit 366c793306.
2016-11-04 09:15:59 +01:00
Oliver Schneider
2a35b3e322
call user defined drop impls 2016-11-03 17:32:37 +01:00
Oliver Schneider
e406099348
sanity check that boxes of zsts don't deallocate the zst allocation 2016-11-03 16:01:14 +01:00
Scott Olson
c938553a10 Add test for 39bb1254d. 2016-10-18 21:45:11 -06:00
Scott Olson
5f65ee2713 Refactor in preparation for Value locals.
Turning locals into `Vec<Value>` will allow writing `PrimVal` results
directly into the locals array without creating `memory::Allocation`s
for every local.

This will entail passing around a generalized kind of `Lvalue` instead
of `Pointer`s for the destinations of operations. Replacing `Pointer`
with `Lvalue` is mostly done with this commit, but expanding `Lvalue`
will come later.

This commit turns every local from `Pointer` into `Value::ByRef(ptr)`.
Locals which are `Value::ByVal(prim_val)` will come in a later commit.
2016-10-14 03:31:45 -06:00
Oliver Schneider
c9914cd3ae
fix enum variants with multiple fields 2016-09-30 10:45:52 +02:00
Oliver Schneider
f1c5bf2281
fix intrinsics and implement more of them 2016-09-29 15:58:26 +02:00
Oliver Schneider
1c18f6ddfa
implement slice patterns 2016-09-28 18:22:09 +02:00
Oliver Schneider
5b89f3fb94
implement Arc<T> -> Arc<Trait> unsizing 2016-09-27 18:01:33 +02:00
Oliver Schneider
d6f1ba89ce
fix matching on chars
fixes #63
2016-09-27 11:10:25 +02:00
Oliver Schneider
e28f873756
actually error on failing miri-pass tests
+ remove a test that never succeeded
2016-09-26 17:49:53 +02:00
Oliver Schneider
b3190359df
refactor away get_fat_ptr 2016-09-23 15:48:23 +02:00