Graydon Hoare
|
0b252a96b1
|
De-duplicate code in get_resolved_ty, make recursive, add a case for tup.
|
2010-06-30 21:01:28 -07:00 |
|
Graydon Hoare
|
d2e7c1a5dc
|
Add two move variants of "acceptable mismatches to recover from" when the mut_ok or ext_ok flags are set.
|
2010-06-30 21:00:57 -07:00 |
|
Graydon Hoare
|
edfcd3a723
|
Add relaxed init-context in which we're willing to auto-deref.
|
2010-06-30 21:00:09 -07:00 |
|
Graydon Hoare
|
f6fda46020
|
Add TYSPEC_mutable, merge control-flag for it and auto_deref into unify_ctx structure.
|
2010-06-30 19:45:40 -07:00 |
|
Graydon Hoare
|
cab674447f
|
Make type-cast decisions based on simplified types.
|
2010-06-30 19:30:12 -07:00 |
|
Graydon Hoare
|
4765d1e358
|
Fix another type bug I introduced yesterday; found through wondrous logging technology.
|
2010-06-30 15:26:34 -07:00 |
|
Graydon Hoare
|
335053eb68
|
Improve logging in type.
|
2010-06-30 15:25:24 -07:00 |
|
Graydon Hoare
|
77cf4a880c
|
Pick out error in type due to delightfully clear logging.
|
2010-06-30 15:16:37 -07:00 |
|
Graydon Hoare
|
4cd49c0ab0
|
Improve logging in type.ml, give it indentation and per-statement context.
|
2010-06-30 15:13:29 -07:00 |
|
Graydon Hoare
|
b450838c46
|
Fix recently-broken lval formatter.
|
2010-06-30 15:12:42 -07:00 |
|
Graydon Hoare
|
6c3a2491d8
|
Add support for parsing COMP_deref lval components (*foo).
|
2010-06-30 14:51:36 -07:00 |
|
Graydon Hoare
|
9fb3e128da
|
Fix formatting string.
|
2010-06-30 14:51:03 -07:00 |
|
Graydon Hoare
|
0ac6be85a9
|
Add a COMP_deref to lvals for explicit-derefs, modify typechecker to implicitly deref in only *some* contexts.
|
2010-06-30 12:39:11 -07:00 |
|
Graydon Hoare
|
e828b2a94d
|
Tidy up (I think) a couple typos from patrick's last commit.
|
2010-06-30 01:45:36 -07:00 |
|
Graydon Hoare
|
df0eebcf1e
|
Improve error message.
|
2010-06-30 01:42:40 -07:00 |
|
Graydon Hoare
|
5a8d93c652
|
Remove redundant (and misnamed) function "without_exterior" in trans.
|
2010-06-30 00:58:15 -07:00 |
|
Graydon Hoare
|
d796673c11
|
Reimplement backup scheme for handling lvals not yet resolved by typechecker.
|
2010-06-30 00:57:28 -07:00 |
|
Graydon Hoare
|
8120a59097
|
Init the exterior ty, not the inner ty.
|
2010-06-30 00:56:44 -07:00 |
|
Graydon Hoare
|
6ee16b588d
|
Fix error-message typo.
|
2010-06-30 00:55:53 -07:00 |
|
Graydon Hoare
|
992f344c83
|
Use simplified_ty in effect.
|
2010-06-30 00:55:27 -07:00 |
|
Graydon Hoare
|
7e853457df
|
Move simplified_ty from trans to semant and use it a few places.
|
2010-06-30 00:55:04 -07:00 |
|
Graydon Hoare
|
861423989d
|
Add logging to type and effect.
|
2010-06-30 00:53:33 -07:00 |
|
Graydon Hoare
|
2a1d88ae00
|
Fix exterior formatter.
|
2010-06-30 00:52:52 -07:00 |
|
Graydon Hoare
|
7d076bcaa0
|
Get compiler to the point of building std.rc and rustc.rc.
|
2010-06-30 00:07:37 -07:00 |
|
Graydon Hoare
|
675f90eca3
|
Handle constrained types in type.ml while we're at it.
|
2010-06-30 00:07:05 -07:00 |
|
Graydon Hoare
|
fc1b86e1ca
|
Wrap long lines.
|
2010-06-30 00:06:31 -07:00 |
|
Patrick Walton
|
c2d4c1116f
|
Teach the typechecker about the auto-dereference and auto-promote-to-mutable semantics we're going with
|
2010-06-29 19:56:04 -07:00 |
|
Graydon Hoare
|
f05fc6b9d7
|
Different, not quite correct yet, but I think slightly closer to correct, approach to convincing the typechecker to get along with this new type grammar.
|
2010-06-29 18:25:16 -07:00 |
|
Graydon Hoare
|
2a00a61ef3
|
Thread a 'simplification' flag through unifier, attempt to strip off layers of ignorable types when simplification is permitted.
Gets std.rc through typechecking, but assigns some wrong types to lvals (the simplified types, not the correct ones).
|
2010-06-29 16:46:07 -07:00 |
|
Graydon Hoare
|
7b11a52a37
|
Update LLVM translation to match changes to slot and ty.
|
2010-06-29 14:06:50 -07:00 |
|
Graydon Hoare
|
1f9fd2710e
|
Initial stab at lowering mutable and exterior into the type system.
|
2010-06-29 12:00:15 -07:00 |
|
Graydon Hoare
|
ffdcd67c25
|
Fix underlying failure to signal errors when dep'ing.
|
2010-06-29 10:32:11 -07:00 |
|
Graydon Hoare
|
329a65530f
|
Canonicalize hashtables after running them through htab_map. Closes #77.
|
2010-06-28 19:24:04 -07:00 |
|
Graydon Hoare
|
bd059a354d
|
Whitespace.
|
2010-06-28 19:21:09 -07:00 |
|
Graydon Hoare
|
5abc483d9a
|
Move more of the GC logic into the runtime.
|
2010-06-28 18:53:43 -07:00 |
|
Roy Frostig
|
66d313d365
|
Teach the typechecker that uints are integral types. Closes #88.
|
2010-06-28 15:27:05 -07:00 |
|
Graydon Hoare
|
d608c09168
|
Some fixme-to-issue housekeeping.
|
2010-06-28 09:39:43 -07:00 |
|
Graydon Hoare
|
e1f6749f9a
|
Once more with feeling. Closes #13.
|
2010-06-27 20:54:33 -07:00 |
|
Graydon Hoare
|
8815c02005
|
Previous commit closes #13. Trying to convince github of that fact automagically.
|
2010-06-27 20:53:07 -07:00 |
|
Graydon Hoare
|
1316312c0c
|
Only translate or dwarf-emit items or stubs locally defined or used. Avoids instantiating O(sizeof(standard-library)) worth of imports stubs on each 'use std'. Closes issue 13.
|
2010-06-27 20:48:28 -07:00 |
|
Graydon Hoare
|
7045526a3e
|
Change slot_mem_ctrl to classify vec[state] as GC mem. Breaking / XFAILing mutable-vec-drop.rs test.
|
2010-06-27 13:53:23 -07:00 |
|
Graydon Hoare
|
fb3e2fa4bf
|
Encode tag and iso types at dwarf level. Can't decode them yet.
|
2010-06-27 13:48:25 -07:00 |
|
Graydon Hoare
|
9236ad2846
|
Further attempts to convince mem_ctrl to be sane.
|
2010-06-25 23:55:36 -07:00 |
|
Graydon Hoare
|
50e96414d2
|
Fix register-use bugs in sweep pass, factor sweep pass out and call twice for separate sever/free phases.
|
2010-06-25 23:07:34 -07:00 |
|
Graydon Hoare
|
90eaaf666b
|
Improve sever_slot logging.
|
2010-06-25 23:03:06 -07:00 |
|
Graydon Hoare
|
49ac5e6312
|
Fix copy-paste error in logging function.
|
2010-06-25 23:02:19 -07:00 |
|
Graydon Hoare
|
37426e42cf
|
Add sever-glue, for missing first stage of sweep.
|
2010-06-25 21:57:46 -07:00 |
|
Graydon Hoare
|
0cf3c2ad93
|
Pass type parameters to free function called from sweep loop.
|
2010-06-25 21:20:32 -07:00 |
|
Graydon Hoare
|
3718055276
|
Align emitted DATA_* elements -- tydescs in particular -- to 16 byte boundaries, so we can get our tag bit freed up.
|
2010-06-25 20:47:16 -07:00 |
|
Graydon Hoare
|
dd2716f56c
|
Fix bad register use in GC sweep pass.
|
2010-06-25 20:46:11 -07:00 |
|