Commit Graph

716 Commits

Author SHA1 Message Date
Oliver Schneider
51ff9fdaf6
deallocate all locals on function exit and transitively freeze constants through pointers 2016-11-18 10:05:55 +01:00
Scott Olson
f7cb9a09e4 Merge pull request #84 from oli-obk/master
rustup
2016-11-17 10:40:26 -08:00
Oliver Schneider
4ebf7bfea6
rustup allows one to install the rust source, that's obviously not a target 2016-11-17 11:31:53 +01:00
Oliver Schneider
a5aafbdfbf
rustup 2016-11-17 11:31:28 +01:00
Scott Olson
9322dec830 Merge pull request #81 from oli-obk/master
ensure that integers cast to pointers will never point at a valid alloc, not even the zst alloc
2016-11-16 20:06:24 -08: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
1549c2d51e
erase all lifetimes from function types before creating pointers to them 2016-11-15 15:20:10 +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 Schneider
13f22f8344
print traces only when not running on the rust run-pass test suite (since tracing is slow) 2016-11-15 14:33:07 +01:00
Oliver Schneider
14ff6411f0
make sure ByVal pointers act just like ByRef to a pointer 2016-11-15 14:12:49 +01:00
Oliver Schneider
4a39c228df
minor fixes
the FIXME was wrong here, there's no need for any special offsetting
2016-11-15 14:11:44 +01:00
Oliver Schneider
511fa40d23
add test for int -> fn ptr cast 2016-11-15 14:11:00 +01:00
Oliver 'ker' Schneider
2c34d6558c also address TyStr in the null pointer optimization 2016-11-13 21:56:57 +01:00
Oliver 'ker' Schneider
f71c31c0e8 cannot index into non-fat-pointers 2016-11-13 21:30:03 +01:00
Oliver 'ker' Schneider
75f56eb144 fix field indexing into fat pointers 2016-11-13 19:26:20 +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
1c40fb0da1 report the bad integer size instead of just the fact that it is bad 2016-11-11 13:08:14 +01:00
Oliver 'ker' Schneider
b2d476eb38 type_size now returns None for unsized types 2016-11-11 13:07:41 +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
2d4301ea7e Simplify cast_ptr. 2016-11-06 22:30:56 -08:00
Scott Olson
a8d90ff12e Update for changes in rustc. 2016-11-06 22:25:54 -08:00
Scott Olson
33b1676bda Merge pull request #75 from oli-obk/master
implement more drop stuff
2016-11-06 01:29:14 -08:00
Scott Olson
ea7db1426e Merge pull request #80 from plietar/signed-discriminant
Read discriminant as a signed integer.
2016-11-06 01:56:25 -07:00
Oliver Schneider
9c85e203c5 remove leftover match 2016-11-05 17:09:37 +01: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
b6c7d76562 address nits 2016-11-05 13:02:29 +01:00
Oliver Schneider
392123552a
fix a bug error message 2016-11-04 17:55:06 +01:00
Oliver Schneider
53f1118517
remove needless allocations 2016-11-04 17:55:06 +01: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
bd6e52d831
fix the drop_in_place intrinsic for fat pointers 2016-11-04 16:37:12 +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
859b7049c8
add method to ensure that a Value::ByRef is now a Value::ByVal* 2016-11-04 15:49:51 +01:00
Oliver Schneider
8003c570d8
don't panic on pointer to value comparison in primvals 2016-11-04 15:49:14 +01:00
Oliver Schneider
b12e7224af
move method to function so it can be used in map iterators without borrowing self 2016-11-04 15:48:45 +01:00
Oliver Schneider
73d7f1d41b
implement drop for NonZero optimized enums 2016-11-04 09:34:54 +01:00
Scott Olson
ce8806d141 Merge pull request #74 from oli-obk/master
call user defined drop impls
2016-11-04 01:26:23 -07: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
bd25230882
nit: move if let into match 2016-11-04 09:15:31 +01:00
Scott Olson
b8ba8e974a Merge pull request #73 from oli-obk/rustup
rustup to rustc 1.14.0-nightly (7c69b0d5a 2016-11-01)
2016-11-03 20:55:07 -07:00
Oliver Schneider
2a35b3e322
call user defined drop impls 2016-11-03 17:32:37 +01:00
Oliver Schneider
1e0d5b817d
implement a bunch of intrinsics 2016-11-03 17:32:06 +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