Patrick Walton
5fb9325848
rustc: Fix a bunch of memory management bugs relating to generic interior vectors. Uncomment all tests in lib-ivec.
2011-06-17 17:31:24 -07:00
Patrick Walton
68122edac3
Revert "rustc: Fix a bunch of memory management bugs relating to generic interior vectors"
...
This reverts commit 2b5e40311ddb6afcacf772e54a96a5204223dcc5.
2011-06-17 16:38:47 -07:00
Patrick Walton
2b5e40311d
rustc: Fix a bunch of memory management bugs relating to generic interior vectors
2011-06-17 16:23:06 -07:00
Eric Holk
2c1b269960
Implemented enough of deep_copy that we can pass scalars and channels to tasks. Closes #507 .
2011-06-17 15:17:46 -07:00
Eric Holk
81fc51a8d7
Started using deep_copy for spawn arguments.
2011-06-17 15:17:46 -07:00
Patrick Walton
e43a3755dd
rustc: Add a type_owns_heap_mem() predicate
2011-06-17 12:32:18 -07:00
Patrick Walton
dfb806b367
rustc: Cast to opaque interior vector types in trans_vec_append if necessary. Puts out burning tinderbox.
2011-06-17 12:23:04 -07:00
Patrick Walton
4918c99f69
rustc: Copy the contents of generic interior vectors
2011-06-17 12:22:53 -07:00
Patrick Walton
4bb7597542
Revert "rustc: Copy the contents of generic interior vectors"
...
This reverts commit 5bdbe1dfc217b77ff6ff5c0d67b8ac274b50f2d3.
2011-06-17 12:03:21 -07:00
Patrick Walton
5bdbe1dfc2
rustc: Copy the contents of generic interior vectors
2011-06-17 11:45:51 -07:00
Brian Anderson
e8228e1260
rustc: Demand that if conditions have bool type
...
Closes #513
2011-06-17 11:35:00 -07:00
Brian Anderson
a4d88dacc9
rustc: Fail to unify if two ty_vars don't unify
...
Closes #500
2011-06-17 11:35:00 -07:00
Brian Anderson
753da64fd6
rustc: Demand unification of both sides of a binop
...
Issue #500
2011-06-17 11:35:00 -07:00
Paul Stansifer
391348ec86
Consistify ast::local.
2011-06-16 17:56:24 -07:00
Patrick Walton
ab7ebb608a
rustc: Fix dominance issue when translating generic interior vectors
2011-06-16 17:48:32 -07:00
Patrick Walton
e50c918e6b
rustc: Implement type walking and comparison glue for unsafe pointers
2011-06-16 17:07:02 -07:00
Graydon Hoare
b84fffaa4e
Reformat a bunch of recent churn.
2011-06-16 16:55:46 -07:00
Patrick Walton
d90ad442b4
rustc: Work around leak when translating interior vectors. Un-XFAIL interior-vec.rs.
2011-06-16 15:07:21 -07:00
Patrick Walton
e7575b9f3a
rustc: Add cases for istr and ivec to visit
2011-06-16 14:26:11 -07:00
Lindsey Kuper
a5563e173e
Clean up whitespace oddities perpetrated by pretty-printer.
2011-06-16 12:21:49 -07:00
Tim Chevalier
219924e669
Bring back if-check
...
Add "if check" (expr_if_check), a variation on check that executes
an "else" clause rather than failing if the check doesn't hold.
2011-06-16 12:13:20 -07:00
Michael Sullivan
272c7e2e87
Translate the swap operator.
2011-06-16 11:47:54 -07:00
Michael Sullivan
bc33a5fe50
Fix bug in move on structure types.
2011-06-16 11:47:54 -07:00
Michael Sullivan
cfd1f74ebb
Bring swap through typechecking and typestate.
2011-06-16 11:47:54 -07:00
Patrick Walton
4673eb6839
rustc: Fix LLVM type error when generating cmp glue for interior vectors
2011-06-16 11:16:03 -07:00
Marijn Haverbeke
15f71b3600
Refactor ast::item representation
...
Most of the fields in an AST item were present in all variants. Things
could be simplified considerably by putting them in the rec rather
than in the variant tags.
2011-06-16 13:32:35 +02:00
Patrick Walton
1fa9133b76
rustc: Implement interior vector concatenation
2011-06-15 18:03:25 -07:00
Eric Holk
260aa408f3
Merge branch 'master' of github.com:graydon/rust into fastcall
2011-06-15 17:45:24 -07:00
Brian Anderson
94d971c0e8
rustc: Remove unused variable from check_assignment
2011-06-15 16:48:59 -07:00
Tim Chevalier
a5bca7df88
Refactor data structures representing constraints (again...)
...
I added a "resolved" version of the ast::constr type -- ty::constr_def
-- that has a def_id field instead of an ann_field. This is more
consistent with other types and eliminates some checking.
Incidentally, I removed the def_map argument to the top-level function
in middle::alias, since the ty::ctxt already has a def_map field.
2011-06-15 15:38:12 -07:00
Patrick Walton
52d4f48144
rustc: Move ivec stuff to an ivec module in trans
2011-06-15 14:43:00 -07:00
Marijn Haverbeke
9b5ebe726c
Implement checking of alias safety in tail calls.
2011-06-15 21:39:27 +02:00
Marijn Haverbeke
b2b8002fd3
Fix unsafe uses of aliases in tail calls
2011-06-15 21:39:27 +02:00
Lindsey Kuper
fa5a7e7453
Simple anonymous objects get through translation.
2011-06-15 12:18:52 -07:00
Eric Holk
01ea27b205
Step 1 of moving task startup to always be cdecl.
2011-06-15 12:10:15 -07:00
Graydon Hoare
ce72993488
Reformat source tree (minus a couple tests that are still grumpy).
2011-06-15 11:19:50 -07:00
Brian Anderson
1c9277e0d3
rustc: Make room in remaining AST item nodes for attributes
...
Issue #487
2011-06-15 09:48:55 -07:00
Brian Anderson
31116dcdd5
rustc: Make room in item_mod for metadata
...
Issue #487
2011-06-15 09:46:37 -07:00
Marijn Haverbeke
c7ab88cc35
Implement checking against assignments to immutable obj fields
2011-06-15 14:59:51 +02:00
Marijn Haverbeke
0ddade3d7a
Extend alias analysis to check assignments
...
This is a somewhat odd place to put these checks, but the data tracked
by that pass, and the available functions, make it trivial to do such
a check there.
2011-06-15 14:10:07 +02:00
Marijn Haverbeke
5fb518abc9
Fix assignments to immutable fields throughout the code
2011-06-15 14:10:07 +02:00
Marijn Haverbeke
180db08470
Refactor expr_root in alias.rs
...
It was too clunky and specific before. Now returns a vec of dereference specs
instead of a bunch of special-case information. Further accessors extract
the information they need from this vec.
2011-06-15 11:03:23 +02:00
Patrick Walton
ac743cfcb0
Merge pull request #490 from msullivan/fix_vec_append
...
Move the implementation of vec_append from llvm assembly to a regular upcall
2011-06-14 18:32:04 -07:00
Patrick Walton
c6be352f73
rustc: Implement on-heap resizing for interior vectors
2011-06-14 18:23:13 -07:00
Michael Sullivan
ccd1bcf7a7
Make tydesc glue functions use cdecl.
2011-06-14 16:09:21 -07:00
Michael Sullivan
5378f48a03
Remove vec_append_glue from the compiler.
2011-06-14 16:09:17 -07:00
Patrick Walton
14258b87a7
rustc: Free heapified interior vectors
2011-06-14 16:00:30 -07:00
Patrick Walton
bd18860be7
rustc: Fix LLVM type error that occurred when translating large unique vector literals
2011-06-14 16:00:02 -07:00
Michael Sullivan
95def699f1
Implement upcall_vec_append and use it for vector append.
2011-06-14 15:35:09 -07:00
Tim Chevalier
05b7eb6dff
Make the typechecker check that dynamically sized arguments are passed by alias
...
Before, this would cause an assertion failure in trans.
2011-06-14 15:11:48 -07:00