Commit Graph

48672 Commits

Author SHA1 Message Date
Graydon Hoare
ae25e66a7f Extract pattern-slot variables in lval typecheck context (mutable ok). 2010-07-01 17:11:01 -07:00
Graydon Hoare
abfeefc662 Relax alias-analysis pass to permit literal-aliasing. 2010-07-01 17:10:30 -07:00
Graydon Hoare
bcc7ec18b8 Remove the catch-all in type.ml, add cases for every stmt (a couple more handled; mostly still stubs). 2010-07-01 16:56:39 -07:00
Graydon Hoare
9138438620 Convey auto-deref judgments made in typechecker to trans layer; control the decision in one place. 2010-07-01 15:59:29 -07:00
Graydon Hoare
90b36dcd26 Correct overzealous bulk-edit to LLVM code. 2010-07-01 15:26:00 -07:00
Graydon Hoare
2122b59ea2 Some work on teaching trans to differentiate between auto-deref and explicit-deref contexts. 2010-07-01 13:20:57 -07:00
Graydon Hoare
ef61c458fa Add more logging to copy/init paths. 2010-07-01 11:11:34 -07:00
Graydon Hoare
bb3aad72c4 Remove redundant indirection-function. 2010-07-01 11:11:07 -07:00
Graydon Hoare
a7016ade65 Implement STMT_init_box in trans, clean up some of the semant table-accessors. 2010-07-01 10:44:27 -07:00
Graydon Hoare
8acb2cf47d Add STMT_init_box to typestate pass. 2010-07-01 10:14:38 -07:00
Graydon Hoare
a61e85ca34 Simplify types before analyzing call structure; 2 more tests compile. 2010-07-01 10:09:04 -07:00
Graydon Hoare
a0c9d4fe9a Strip out over-aggressive pagination in manual. 2010-07-01 09:37:28 -07:00
Graydon Hoare
8bf6ae99f4 I lied; ObjC 2.0 did not actually pick up CLU/Sather iterators. They've been dormant since the 90s. Sigh. 2010-07-01 09:37:06 -07:00
Graydon Hoare
0bc1ad60ef Union is a more familiar term than sum. 2010-07-01 09:36:22 -07:00
Graydon Hoare
cb04275afa Add machine-dependent 'float' type. 2010-07-01 09:35:48 -07:00
Graydon Hoare
afc0dc8bfc Fix lexer's definition of numeric literals. 2010-07-01 09:03:47 -07:00
Graydon Hoare
3aaff59dba Describe numeric and textual literals better; clean up lexeme descriptions a bit. 2010-07-01 09:00:47 -07:00
Graydon Hoare
aa614d5280 Modify manual to reflect new box/local terminology and new slot/type roles for box and mutable. 2010-07-01 01:13:42 -07:00
Roy Frostig
5a07e98c5d Fix two bugs in tag patterns: 1. Look up the tag constructor function item using lval_item, not lval_to_referent; 2. Correct the form of the name used to query the tag or iso ty_tag when obtaining the corresponding type tuple. 2010-07-01 00:09:11 -07:00
Graydon Hoare
6a0b06e562 Rename 'exterior' to 'box' and 'interior' to 'local' (at least wrt. slots; keep MEM_interior for describing interior-parts-of-allocations) 2010-06-30 22:45:54 -07:00
Graydon Hoare
8b8186db87 No more "transplant" behavior in "let @x = y", gotta box explicitly. 2010-06-30 21:17:45 -07:00
Graydon Hoare
e460da3889 Auto-deref on lval-ext terms (x.y == x->y, if you like) 2010-06-30 21:16:13 -07:00
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
8e4a10790f rewrite 'mutable &' as '& mutable', corresponding to grammar shift. 2010-06-30 02:30:17 -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