Brian Anderson
0e5f76a718
Fix ty_uniq case in maybe_auto_unbox
...
Closes #961
Issue #409
2011-09-22 18:14:18 -07:00
Brian Anderson
1a48023a79
Add take glue for unique boxes
...
Closes #962
Issue #409
2011-09-22 18:05:36 -07:00
Brian Anderson
77fcab043e
Remove nonsensical load and store from trans_uniq::copy_val
...
Issue #409
2011-09-22 17:50:27 -07:00
Brian Anderson
7a76323459
Allow vectors to contain unique boxes. Closes #952
...
Issue #409
2011-09-22 17:00:53 -07:00
Patrick Walton
e372f943e2
rustc: Write raw type parameters instead of linearized type parameters in object body shapes
2011-09-22 16:13:03 -07:00
Brian Anderson
30a4eab380
Autoderef indexes and fields of unique boxes
...
Issue #409
2011-09-22 16:06:25 -07:00
Brian Anderson
d174d917e2
Calculate the correct kind for unique boxes
...
Issue #409
2011-09-22 15:28:49 -07:00
Brian Anderson
3f41563cc9
Drop the previous value when copying one unique box local to another
...
Issue #409
2011-09-22 13:53:34 -07:00
Brian Anderson
67bac873e0
Add assignment to unique box locals
...
Issue #409
2011-09-22 13:53:33 -07:00
Brian Anderson
268a9fe5fb
Initialize unique box locals from other locals
...
Issue #409
2011-09-22 13:53:33 -07:00
Brian Anderson
5d5136df9f
Convert trans_uniq asserts to preconditions
...
Issue #409
2011-09-22 13:53:33 -07:00
Brian Anderson
c4f02a7925
Sprinkle some asserts through trans_uniq
2011-09-22 13:53:33 -07:00
Brian Anderson
8492eed137
Move uniq trans code to trans_uniq module
...
Issue #409
2011-09-22 13:53:30 -07:00
Brian Anderson
0f0ba33d82
Factor alloc_uniq from trans_uniq
...
Issue #409
2011-09-22 13:52:30 -07:00
Brian Anderson
f6ab12a3b1
Don't unify unique boxes with different mutability
...
Issue #409
2011-09-22 11:10:48 -07:00
Brian Anderson
ea67099234
Add support for mutable unique boxes
...
Issue #409
2011-09-22 10:26:34 -07:00
Brian Anderson
1b3023e4d0
Convert ty::ty_uniq to contain a mutable type
...
Issue #409
2011-09-22 10:26:34 -07:00
Brian Anderson
4d088bd528
Call drop glue on the thing in a unique box
...
Issue #409
2011-09-22 10:26:34 -07:00
Brian Anderson
42fd2a9d89
Remove unused arg from revoke_clean
2011-09-21 15:39:46 -07:00
Brian Anderson
2cc01e2ca2
Add ability to deref unique boxes. Make unique boxes immediates.
...
Issue #409
2011-09-21 14:40:55 -07:00
Marijn Haverbeke
80778f642f
Revert "rustc: Make bottom types immediates. Add a |log ret| testcase. Closes #935."
...
This reverts commit f19ab1ff3c
.
2011-09-21 21:39:31 +02:00
Patrick Walton
f19ab1ff3c
rustc: Make bottom types immediates. Add a |log ret| testcase. Closes #935 .
2011-09-21 10:55:28 -07:00
Patrick Walton
fcd17731cf
rustc: Don't try to spill bottom types, since we can't make any assumptions about the type of the ValueRef
2011-09-21 10:55:27 -07:00
Marijn Haverbeke
a034f87146
Revert "Implement pattern ranges for all numeric types."
...
This reverts commit ce0f054f9d
.
2011-09-21 18:42:09 +02:00
Marijn Haverbeke
410f73fdb2
Don't write to retptr when returning nil, pass undef for unused params
2011-09-21 17:57:19 +02:00
Graydon Hoare
68d50b5928
Add target_triple to session::options. Use host triple by default, accept --target on command line.
2011-09-21 08:46:44 -07:00
Marijn Haverbeke
07eb29dbce
Revert "rustc: Make bottom types immediates. Add a |log ret| testcase. Closes #935."
...
This reverts commit e6a84f252a
.
2011-09-21 11:05:54 +02:00
Josh Matthews
ce0f054f9d
Implement pattern ranges for all numeric types.
2011-09-21 09:36:12 +02:00
Patrick Walton
e6a84f252a
rustc: Make bottom types immediates. Add a |log ret| testcase. Closes #935 .
2011-09-20 22:52:26 -07:00
Brian Anderson
f809e22697
Represent unique creation as a unop in the AST instead of its own expr
...
Like the box unop.
Issue #409
2011-09-20 18:06:47 -07:00
Brian Anderson
7ae251789c
Make creation of unique boxes work again
...
Issue #409
2011-09-20 17:51:17 -07:00
Brian Anderson
865dcb663d
Parse unique box types
...
Issue #409
2011-09-20 17:51:17 -07:00
Patrick Walton
d607316b2f
rustc: Pass actual tydescs to upcall_malloc
2011-09-20 13:48:22 -07:00
Patrick Walton
78147452b8
rustc: Remove trans_raw_malloc, as it's only called from one place
2011-09-20 13:38:54 -07:00
Brian Anderson
de1b394c32
Move linker invocation from driver::rustc to back::link
2011-09-20 11:10:03 -07:00
Brian Anderson
870117f44e
Zero locals that are inited via alt expressions. Closes #945
2011-09-20 10:28:16 -07:00
Marijn Haverbeke
e33f116598
Remove some obsolete 'copy' operators from trans
2011-09-20 17:35:40 +02:00
Marijn Haverbeke
1eaddb772e
Properly handle 'put;' in trans
...
Closes #947
2011-09-20 17:34:32 +02:00
Marijn Haverbeke
8c85745452
Remove some bogus white-space from llvm.rs
2011-09-20 17:14:50 +02:00
Brian Anderson
7c6630a367
Build tuples in two phases to avoid cleaning up partial tuples
2011-09-19 17:59:53 -07:00
Brian Anderson
9626e2f71f
Register tuple cleanups after the tuple is built
...
Issue #936
2011-09-19 17:59:47 -07:00
Brian Anderson
b1bf9ef5ae
Break fold's circular reference during unwinding
...
This converts the AST fold into a resource that breaks it's own circular
reference (just a temporary workaround until GC), so that failure during fold
will unwind correctly.
Issue #936
2011-09-19 15:32:56 -07:00
Brian Anderson
dd1cf63515
Build records in two phases to avoid cleanups on partial records
2011-09-19 14:28:04 -07:00
Brian Anderson
432e931a2a
Don't register record cleanups until the record is built
2011-09-19 14:28:04 -07:00
Marijn Haverbeke
eafb6789a2
Stop creating function pairs for static functions
...
These are now called directly. When taking their value, a null pointer is added
to create a pair.
2011-09-18 22:05:58 +02:00
Tim Chevalier
8640e67e3f
Add a precondition to GEP_tup_like
2011-09-17 10:18:30 -07:00
Tim Chevalier
2b98eccfee
Add a type_is_tup_like predicate that takes a block ctxt, and make some fns pure
2011-09-17 10:18:11 -07:00
Tim Chevalier
8613f28a16
In trans, replace another impossible case with a precondition
2011-09-17 09:13:05 -07:00
Brian Anderson
1002623201
Make move-mode arguments unwind correctly. Closes #939
2011-09-16 14:38:04 -07:00
Tim Chevalier
99236d64d0
Dead code elim
2011-09-16 13:32:44 -07:00