Commit Graph

  • 99be02a28d Indent/outdent when logging dwarf at runtime. Graydon Hoare 2010-07-02 08:15:27 -07:00
  • 8370b947a4 Wrap long lines. Graydon Hoare 2010-07-01 23:53:32 -07:00
  • 60c6ae3ad5 Box arguments that are supposed to be boxed. Graydon Hoare 2010-07-01 23:50:58 -07:00
  • f0faeaed25 Yeah. Not even a semantic mix-up: just a damn typo. Graydon Hoare 2010-07-01 23:45:16 -07:00
  • 27d69a88b1 Teach clone_ty to tolerate cloning a mutable (though not state) type. Graydon Hoare 2010-07-01 23:20:28 -07:00
  • a2e4d45600 Improve mangling. Graydon Hoare 2010-07-01 23:15:42 -07:00
  • f3de4ee2a7 Teach the associative_binary_op_ty_fold about box, mutable and tys. Graydon Hoare 2010-07-01 23:12:34 -07:00
  • 01cfcfab13 Strip outer 'mutable' off slot when deciding if pred can apply. Graydon Hoare 2010-07-01 21:20:30 -07:00
  • 2d40bc669c Retire defunct copy_ty in favour of trans_copy_ty, which invokes the same logic at the bottom. Graydon Hoare 2010-07-01 21:02:49 -07:00
  • d0a1b6e914 Reinstate disgusting, filthy workarounds for deriving missing type information. It existed before, we will survive if it exists now. Graydon Hoare 2010-07-01 20:24:23 -07:00
  • 4273986623 Remove similar over-application of auto-deref from type. Graydon Hoare 2010-07-01 19:30:35 -07:00
  • 65a87a55a1 Remove too-optimistic (and not harmless) over application of auto-deref in trans. Graydon Hoare 2010-07-01 19:29:51 -07:00
  • 314af0a44b Split out and improve trans_init_box. Graydon Hoare 2010-07-01 19:29:03 -07:00
  • 7df949af40 Add logging to trans_init_slot_from_atom. Graydon Hoare 2010-07-01 19:28:11 -07:00
  • 6c9832d3ec Catch ast pretty-printer up with init-tup syntax. Graydon Hoare 2010-07-01 19:27:20 -07:00
  • bb018b24f5 Fox the clauses that actually satisfy box and mutable constraints; in all the confusion I had got those wrong. Graydon Hoare 2010-07-01 18:39:58 -07:00
  • c27879a1aa Of course, the LHS constraint on an init-box statement is mutable @. Graydon Hoare 2010-07-01 18:39:08 -07:00
  • fdafec39de Clarify in type logging when we have a constraint vs. a resolved type. Graydon Hoare 2010-07-01 18:38:28 -07:00
  • fb7e37842b Add compile-check target for just attempting to compile, not run, the tests. Graydon Hoare 2010-07-01 18:37:53 -07:00
  • f72774db7a Correct existing reliance on auto-box / unbox behavior in tests. Graydon Hoare 2010-07-01 18:37:30 -07:00
  • 792d96474e Box the integer passed to the handle in obj-drop.rs. No more implicit arg-boxing. Graydon Hoare 2010-07-01 18:04:21 -07:00
  • 2120599387 Establish the box constraint on the dst in STMT_init_box before propagating it to the rval. Graydon Hoare 2010-07-01 18:03:37 -07:00
  • c30353d4f9 Remove TYSPEC_loggable. Everything's loggable (or will be, eventually; the backend can catch unimplemented cases until then). Graydon Hoare 2010-07-01 17:56:20 -07:00
  • 4bec9538cc Check the simplified type used in check-expr in trans. Graydon Hoare 2010-07-01 17:55:28 -07:00
  • ae25e66a7f Extract pattern-slot variables in lval typecheck context (mutable ok). Graydon Hoare 2010-07-01 17:11:01 -07:00
  • abfeefc662 Relax alias-analysis pass to permit literal-aliasing. Graydon Hoare 2010-07-01 17:10:30 -07:00
  • bcc7ec18b8 Remove the catch-all in type.ml, add cases for every stmt (a couple more handled; mostly still stubs). Graydon Hoare 2010-07-01 16:56:39 -07:00
  • 9138438620 Convey auto-deref judgments made in typechecker to trans layer; control the decision in one place. Graydon Hoare 2010-07-01 15:59:29 -07:00
  • 90b36dcd26 Correct overzealous bulk-edit to LLVM code. Graydon Hoare 2010-07-01 15:26:00 -07:00
  • 2122b59ea2 Some work on teaching trans to differentiate between auto-deref and explicit-deref contexts. Graydon Hoare 2010-07-01 13:20:57 -07:00
  • ef61c458fa Add more logging to copy/init paths. Graydon Hoare 2010-07-01 11:11:34 -07:00
  • bb3aad72c4 Remove redundant indirection-function. Graydon Hoare 2010-07-01 11:11:07 -07:00
  • a7016ade65 Implement STMT_init_box in trans, clean up some of the semant table-accessors. Graydon Hoare 2010-07-01 10:44:27 -07:00
  • 8acb2cf47d Add STMT_init_box to typestate pass. Graydon Hoare 2010-07-01 10:14:38 -07:00
  • a61e85ca34 Simplify types before analyzing call structure; 2 more tests compile. Graydon Hoare 2010-07-01 10:09:04 -07:00
  • a0c9d4fe9a Strip out over-aggressive pagination in manual. Graydon Hoare 2010-07-01 09:37:28 -07:00
  • 8bf6ae99f4 I lied; ObjC 2.0 did not actually pick up CLU/Sather iterators. They've been dormant since the 90s. Sigh. Graydon Hoare 2010-07-01 09:37:06 -07:00
  • 0bc1ad60ef Union is a more familiar term than sum. Graydon Hoare 2010-07-01 09:36:22 -07:00
  • cb04275afa Add machine-dependent 'float' type. Graydon Hoare 2010-07-01 09:35:48 -07:00
  • afc0dc8bfc Fix lexer's definition of numeric literals. Graydon Hoare 2010-07-01 09:03:47 -07:00
  • 3aaff59dba Describe numeric and textual literals better; clean up lexeme descriptions a bit. Graydon Hoare 2010-07-01 09:00:47 -07:00
  • aa614d5280 Modify manual to reflect new box/local terminology and new slot/type roles for box and mutable. Graydon Hoare 2010-07-01 01:13:42 -07:00
  • 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. Roy Frostig 2010-07-01 00:09:11 -07:00
  • 6a0b06e562 Rename 'exterior' to 'box' and 'interior' to 'local' (at least wrt. slots; keep MEM_interior for describing interior-parts-of-allocations) Graydon Hoare 2010-06-30 22:45:54 -07:00
  • 8b8186db87 No more "transplant" behavior in "let @x = y", gotta box explicitly. Graydon Hoare 2010-06-30 21:17:45 -07:00
  • e460da3889 Auto-deref on lval-ext terms (x.y == x->y, if you like) Graydon Hoare 2010-06-30 21:16:13 -07:00
  • 0b252a96b1 De-duplicate code in get_resolved_ty, make recursive, add a case for tup. Graydon Hoare 2010-06-30 21:01:28 -07:00
  • d2e7c1a5dc Add two move variants of "acceptable mismatches to recover from" when the mut_ok or ext_ok flags are set. Graydon Hoare 2010-06-30 21:00:57 -07:00
  • edfcd3a723 Add relaxed init-context in which we're willing to auto-deref. Graydon Hoare 2010-06-30 21:00:09 -07:00
  • f6fda46020 Add TYSPEC_mutable, merge control-flag for it and auto_deref into unify_ctx structure. Graydon Hoare 2010-06-30 19:45:40 -07:00
  • cab674447f Make type-cast decisions based on simplified types. Graydon Hoare 2010-06-30 19:30:12 -07:00
  • 4765d1e358 Fix another type bug I introduced yesterday; found through wondrous logging technology. Graydon Hoare 2010-06-30 15:26:34 -07:00
  • 335053eb68 Improve logging in type. Graydon Hoare 2010-06-30 15:25:24 -07:00
  • 77cf4a880c Pick out error in type due to delightfully clear logging. Graydon Hoare 2010-06-30 15:16:37 -07:00
  • 4cd49c0ab0 Improve logging in type.ml, give it indentation and per-statement context. Graydon Hoare 2010-06-30 15:13:29 -07:00
  • b450838c46 Fix recently-broken lval formatter. Graydon Hoare 2010-06-30 15:12:42 -07:00
  • 6c3a2491d8 Add support for parsing COMP_deref lval components (*foo). Graydon Hoare 2010-06-30 14:51:36 -07:00
  • 9fb3e128da Fix formatting string. Graydon Hoare 2010-06-30 14:51:03 -07:00
  • 0ac6be85a9 Add a COMP_deref to lvals for explicit-derefs, modify typechecker to implicitly deref in only *some* contexts. Graydon Hoare 2010-06-30 12:39:11 -07:00
  • 8e4a10790f rewrite 'mutable &' as '& mutable', corresponding to grammar shift. Graydon Hoare 2010-06-30 02:30:17 -07:00
  • e828b2a94d Tidy up (I think) a couple typos from patrick's last commit. Graydon Hoare 2010-06-30 01:45:36 -07:00
  • df0eebcf1e Improve error message. Graydon Hoare 2010-06-30 01:42:40 -07:00
  • 5a8d93c652 Remove redundant (and misnamed) function "without_exterior" in trans. Graydon Hoare 2010-06-30 00:58:15 -07:00
  • d796673c11 Reimplement backup scheme for handling lvals not yet resolved by typechecker. Graydon Hoare 2010-06-30 00:57:28 -07:00
  • 8120a59097 Init the exterior ty, not the inner ty. Graydon Hoare 2010-06-30 00:56:44 -07:00
  • 6ee16b588d Fix error-message typo. Graydon Hoare 2010-06-30 00:55:53 -07:00
  • 992f344c83 Use simplified_ty in effect. Graydon Hoare 2010-06-30 00:55:27 -07:00
  • 7e853457df Move simplified_ty from trans to semant and use it a few places. Graydon Hoare 2010-06-30 00:55:04 -07:00
  • 861423989d Add logging to type and effect. Graydon Hoare 2010-06-30 00:53:33 -07:00
  • 2a1d88ae00 Fix exterior formatter. Graydon Hoare 2010-06-30 00:52:52 -07:00
  • 7d076bcaa0 Get compiler to the point of building std.rc and rustc.rc. Graydon Hoare 2010-06-30 00:07:37 -07:00
  • 675f90eca3 Handle constrained types in type.ml while we're at it. Graydon Hoare 2010-06-30 00:07:05 -07:00
  • fc1b86e1ca Wrap long lines. Graydon Hoare 2010-06-30 00:06:31 -07:00
  • c2d4c1116f Teach the typechecker about the auto-dereference and auto-promote-to-mutable semantics we're going with Patrick Walton 2010-06-29 19:53:24 -07:00
  • 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. Graydon Hoare 2010-06-29 18:25:16 -07:00
  • 2a00a61ef3 Thread a 'simplification' flag through unifier, attempt to strip off layers of ignorable types when simplification is permitted. Graydon Hoare 2010-06-29 16:46:07 -07:00
  • e692ccfb0c Add (XFAILed) testcase for typechecker issue where fns-in-mods appear to lose their type parameters over the course of the typechecking pass. Roy Frostig 2010-06-29 16:13:26 -07:00
  • 7b11a52a37 Update LLVM translation to match changes to slot and ty. Graydon Hoare 2010-06-29 14:06:50 -07:00
  • 17c293bbaa Merge branch 'master' of git@github.com:graydon/rust Graydon Hoare 2010-06-29 12:06:18 -07:00
  • 1f9fd2710e Initial stab at lowering mutable and exterior into the type system. Graydon Hoare 2010-06-29 12:00:15 -07:00
  • ffdcd67c25 Fix underlying failure to signal errors when dep'ing. Graydon Hoare 2010-06-29 10:32:11 -07:00
  • 0ad7468ff2 Revert "Improve makefile to try to avoid wedging on failure-to-dep lib/std.rc" Graydon Hoare 2010-06-29 10:30:36 -07:00
  • 3bc263f102 Improve makefile to try to avoid wedging on failure-to-dep lib/std.rc Graydon Hoare 2010-06-29 10:25:25 -07:00
  • 0d6aaec493 Work-around and un-XFAIL generic-obj.rs test. The problem uncovered in the original XFAIL is more generally that of issue #92. Roy Frostig 2010-06-29 00:48:49 -07:00
  • 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. Roy Frostig 2010-06-28 23:18:51 -07:00
  • d94f0e2498 Add a NO_VALGRIND override mechanism to makefile, if you want day-to-day builds to cycle faster on linux. Graydon Hoare 2010-06-28 22:29:17 -07:00
  • 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. Roy Frostig 2010-06-28 21:45:48 -07:00
  • 5b5b334c24 Testcase (XFAILed) for fn item given as lval. Roy Frostig 2010-06-28 21:18:09 -07:00
  • 329a65530f Canonicalize hashtables after running them through htab_map. Closes #77. Graydon Hoare 2010-06-28 19:24:04 -07:00
  • bd059a354d Whitespace. Graydon Hoare 2010-06-28 19:21:09 -07:00
  • 5abc483d9a Move more of the GC logic into the runtime. Graydon Hoare 2010-06-28 18:53:16 -07:00
  • a27cbd4ee8 Testcase (XFAILed) for mutable alias vec weirdness. Roy Frostig 2010-06-28 16:36:24 -07:00
  • 66d313d365 Teach the typechecker that uints are integral types. Closes #88. Roy Frostig 2010-06-28 15:27:05 -07:00
  • d608c09168 Some fixme-to-issue housekeeping. Graydon Hoare 2010-06-28 09:39:43 -07:00
  • e1f6749f9a Once more with feeling. Closes #13. Graydon Hoare 2010-06-27 20:54:33 -07:00
  • 8815c02005 Previous commit closes #13. Trying to convince github of that fact automagically. Graydon Hoare 2010-06-27 20:53:07 -07:00
  • 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. Graydon Hoare 2010-06-27 20:48:28 -07:00
  • 7045526a3e Change slot_mem_ctrl to classify vec[state] as GC mem. Breaking / XFAILing mutable-vec-drop.rs test. Graydon Hoare 2010-06-27 13:53:23 -07:00
  • fb3e2fa4bf Encode tag and iso types at dwarf level. Can't decode them yet. Graydon Hoare 2010-06-27 13:48:25 -07:00
  • 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) Graydon Hoare 2010-06-25 23:57:30 -07:00