Commit Graph

20288 Commits

Author SHA1 Message Date
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
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
Roy Frostig
e692ccfb0c Add (XFAILed) testcase for typechecker issue where fns-in-mods appear to lose their type parameters over the course of the typechecking pass. 2010-06-29 16:13:26 -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
17c293bbaa Merge branch 'master' of git@github.com:graydon/rust 2010-06-29 12:06:18 -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
0ad7468ff2 Revert "Improve makefile to try to avoid wedging on failure-to-dep lib/std.rc"
This reverts commit 3bc263f102.
2010-06-29 10:30:36 -07:00
Graydon Hoare
3bc263f102 Improve makefile to try to avoid wedging on failure-to-dep lib/std.rc 2010-06-29 10:25:25 -07:00
Roy Frostig
0d6aaec493 Work-around and un-XFAIL generic-obj.rs test. The problem uncovered in the original XFAIL is more generally that of issue #92. 2010-06-29 00:48:49 -07:00
Roy Frostig
023e5af639 The few and proud isolated bits from stdlib-work so far that don't break everything. Note util.rs hasn't yet been declared mod in the std crate. Don't do that yet, as it breaks make check. 2010-06-28 23:18:51 -07:00
Graydon Hoare
d94f0e2498 Add a NO_VALGRIND override mechanism to makefile, if you want day-to-day builds to cycle faster on linux. 2010-06-28 22:29:17 -07:00
Roy Frostig
d5ff6e133c Add to generic-obj.rs testcase a method that takes an argument of the object type-param type. XFAIL the test since it no longer passes. 2010-06-28 21:45:48 -07:00
Roy Frostig
5b5b334c24 Testcase (XFAILed) for fn item given as lval. 2010-06-28 21:18:09 -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
a27cbd4ee8 Testcase (XFAILed) for mutable alias vec weirdness. 2010-06-28 16:36:24 -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
7ea416f4c3 Add callable gc method exposed to user code, use it in mlist-cycle.rs test (still not quite working; some memory corruption in the recursive tag constructors, not the GC) 2010-06-25 23:57:30 -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