Commit Graph

9537 Commits

Author SHA1 Message Date
Graydon Hoare
d0a1b6e914 Reinstate disgusting, filthy workarounds for deriving missing type information. It existed before, we will survive if it exists now. 2010-07-01 20:24:23 -07:00
Graydon Hoare
4273986623 Remove similar over-application of auto-deref from type. 2010-07-01 19:30:35 -07:00
Graydon Hoare
65a87a55a1 Remove too-optimistic (and not harmless) over application of auto-deref in trans. 2010-07-01 19:29:51 -07:00
Graydon Hoare
314af0a44b Split out and improve trans_init_box. 2010-07-01 19:29:03 -07:00
Graydon Hoare
7df949af40 Add logging to trans_init_slot_from_atom. 2010-07-01 19:28:11 -07:00
Graydon Hoare
6c9832d3ec Catch ast pretty-printer up with init-tup syntax. 2010-07-01 19:27:20 -07:00
Graydon Hoare
bb018b24f5 Fox the clauses that actually satisfy box and mutable constraints; in all the confusion I had got those wrong. 2010-07-01 18:39:58 -07:00
Graydon Hoare
c27879a1aa Of course, the LHS constraint on an init-box statement is mutable @. 2010-07-01 18:39:08 -07:00
Graydon Hoare
fdafec39de Clarify in type logging when we have a constraint vs. a resolved type. 2010-07-01 18:38:28 -07:00
Graydon Hoare
fb7e37842b Add compile-check target for just attempting to compile, not run, the tests. 2010-07-01 18:37:53 -07:00
Graydon Hoare
f72774db7a Correct existing reliance on auto-box / unbox behavior in tests. 2010-07-01 18:37:30 -07:00
Graydon Hoare
792d96474e Box the integer passed to the handle in obj-drop.rs. No more implicit arg-boxing. 2010-07-01 18:04:21 -07:00
Graydon Hoare
2120599387 Establish the box constraint on the dst in STMT_init_box before propagating it to the rval. 2010-07-01 18:03:37 -07:00
Graydon Hoare
c30353d4f9 Remove TYSPEC_loggable. Everything's loggable (or will be, eventually; the backend can catch unimplemented cases until then). 2010-07-01 17:56:20 -07:00
Graydon Hoare
4bec9538cc Check the simplified type used in check-expr in trans. 2010-07-01 17:55:28 -07:00
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